在正则表达式中启用 Unicode 模式时,还可以使用 Unicode 属性转义。Unicode 属性转义(\p{}
或 \P{}
)允许您根据 Unicode 字符的属性和特征匹配它们。
const emojiRegex = /\p{Emoji}/u
emojiRegex.test('⭐') // true
// 大写字母 P 否定了匹配
const noEmojiRegex = /\P{Emoji}/u
noEmojiRegex.test('⭐') // false
如果你想替换和修改 JavaScript 字符串中的 Emojis,你可以使用 String.replaceAll
。
// 注意 g 标志以替换所有 Emojis
'🙈–👍–⭐'.replaceAll(/\p{Emoji}/ug, '_') // '_–_–_'