我正在一个应用程序中工作,其中我需要一个正则表达式来检测组合字符。我制作了以下正则表达式
string regex = @"^([~.][a-z])";
我必须检测与字符分开的组合字符,因为它们不存在于字体中,所以我必须检查两个字符,一个是符号,另一个是任何字符,即〜a。 问题是我无法粘贴符号的确切形状。我正在使用这个链接 http://en.wikipedia.org/wiki/Combining_character 当我将它们粘贴到正则表达式中时,形状发生了变化。
如何制作一个正则表达式来检测正则表达式中提供的特定组合字符。
最佳答案
使用 Unicode 属性:
\p{L}\p{M}*+
\p{L}
来自任何语言的任何类型的字母(但不是组合字母!)
\p{M}
用于与另一个字符组合的字符(例如重音符号、变音符号、封闭框等)。
参见regular-expressions.info/unicode for more details (chapter Unicode Categories)
关于c# - 如何编写组合字符的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22932073/