我有以下阿拉伯文字:
الْكَلَامُ عَلَيْهِ مِنْ وُجُوهٍ:أَحَدُهَا: أَنَّ هَذِهِ الْجُمْلَةَ وَنَظَائِرَهَا مِنْ خُطْبَةِ الْكِتَابِ مُرَبَّعَةٌ نُونِيَّةٌ.
正如您所看到的那样,角色是发声的。据我所知,每个人声都被视为一个角色。起初我在在线正则表达式测试网站上尝试了以下选项,他们都工作并返回结果,但在C#中它从未起作用。我尝试了以下方法:
var t1 = Regex.Matches(txt, "/[ًٍَِْ]/g", RegexOptions.RightToLeft);
var t2 = Regex.Matches(txt, "/([\u064B-\u0652])/g", RegexOptions.RightToLeft);
在t1中,我试图匹配人声本身(),但这不起作用,因为它给出零匹配。在t2中,我尝试使用它们的Unicode表示,但它也不起作用。
答案 0 :(得分:6)
尝试使用
var inp1 = "الْكَلَامُ عَلَيْهِ مِنْ وُجُوهٍ:أَحَدُهَا: أَنَّ هَذِهِ الْجُمْلَةَ وَنَظَائِرَهَا مِنْ خُطْبَةِ الْكِتَابِ مُرَبَّعَةٌ نُونِيَّةٌ.";
var t2 = Regex.Matches(inp1, "[\u064B-\u0652]", RegexOptions.RightToLeft);
您在C#模式中使用JavaScript表示法,以防止匹配。
这是输出: