匹配带重音的字母

时间:2016-01-24 18:51:00

标签: c# regex

我有以下正则表达式,我用它来分割字母和数字:

(?<=\p{L})(?=\p{N})

asd123 //Match
وس123  //Match (Right to left)
وَ123   //No match (The accent is not matched)

如果这封信有重音(变音符号),那么就不会匹配。我尝试添加捕获变音符号的\p{M},但我似乎无法使其发挥作用。

1 个答案:

答案 0 :(得分:1)

我做了一个非常简单的错误,不包括“?”在\p{M}之后。没有“?”它将成为强制性的,而不是可选的,在我的情况下它是。

(?<=\p{L}\p{M}?)(?=\p{N}) //For single diacritic mark
(?<=\p{L}\p{M}\p{M}?)(?=\p{N}) //For single double mark (in Arabic)