我正在一个应用程序中,我需要一个正则表达式来检测组合字符。我已经制作了以下正则表达式
string regex = @"^([~.][a-z])";
我必须检测与字符分开的组合字符,因为它们不存在于字体中,因此我必须检查两个字符,一个是符号,另一个是任何字符,即a。 问题是我无法粘贴符号的确切形状。我正在使用此链接 http://en.wikipedia.org/wiki/Combining_character 当我将它们粘贴在正则表达式中时,形状会发生变化。
如何制作检测正则表达式中提供的特定组合字符的正则表达式。
答案 0 :(得分:2)
使用Unicode属性:
\p{L}\p{M}*+
\p{L}
来自任何语言的任何类型的信件(但不是组合的信件!)
\p{M}
一个字符,旨在与另一个字符组合(例如重音符号,变音符号,封闭框等)。
请参阅regular-expressions.info/unicode for more details (chapter Unicode Categories)