我想要一个正则表达式来匹配C#中的表情符号字符。如果重要,那就是来自Windows 8触控键盘的字符即。
答案 0 :(得分:1)
似乎有一个Emoji-to-Unicode标准:
http://en.wikipedia.org/wiki/Emoji#Emoji_in_the_Unicode_standard
因此,您可以匹配每个Unicode范围。例如,要匹配从U + 1F30x到U + 1F5Fx的范围,您可以使用[\u1F30-\u1F5F]
等。
答案 1 :(得分:0)
您应该能够插入unicode代码值来表示它们:
Regex regEx = new Regex(@"\uXXXX\uYYYY");
XXXX
和YYYY
是您要查找的字符的unicode值(当然,更改正则表达式以满足您的需求)。
答案 2 :(得分:0)
针对此问题,我使用了Unicode常规类别和命名块,并在接受的答案下方的简短评论中对其进行了描述:
我试图匹配✅和?,并看到了这个问题。但是答案 没有解决我的问题。最后我将它用于正则表达式模式
\p{So}
有关命名块和Unicode常规类别的更多信息,请访问Microsoft Regular Expression Help Topic。
您可以对BasicLatin,ExtendedLatin,阿拉伯语,Cyrilic和...使用不同的名称
还有与S
系列匹配的更具体的符号,例如货币符号或数学符号。