我想要一个正则表达式来匹配 C# 中的表情符号字符。如果重要的话,那就是来自 Windows 8 触摸键盘的字符,即。
问问题
7652 次
3 回答
3
似乎有一个 Emoji-to-Unicode 标准:
http://en.wikipedia.org/wiki/Emoji#Emoji_in_the_Unicode_standard
因此,您可能可以匹配每个 Unicode 范围。例如,要匹配从 U+1F30x 到 U+1F5Fx 的范围,您可以使用[\u1F30-\u1F5F]
等。
于 2013-01-25T17:42:37.823 回答
0
您应该能够插入 unicode 代码值来表示它们:
Regex regEx = new Regex(@"\uXXXX\uYYYY");
您要查找的字符的 unicode 值在哪里XXXX
以及在哪里YYYY
(当然要更改正则表达式以满足您的需要)。
于 2013-01-25T17:44:03.803 回答
0
我为这个问题使用了 Unicode 通用类别和命名块,并在接受的答案下方的简短评论中对其进行了描述:
我试图匹配 ✅ 并看到了这个问题。但答案并没有解决我的问题。最后我将它用于正则表达式模式
\p{So}
有关命名块和 Unicode 常规类别的更多信息,请访问Microsoft 正则表达式帮助主题。
您可以为 BasicLatin、ExtendedLatin、Arabic、Cyrilic 和 ... 使用不同的名称,还可以使用与S
家庭匹配的更具体的符号,如货币符号或数学符号。
于 2020-12-09T20:56:40.097 回答