正则表达式阿拉伯语发声匹配

时间:2015-04-14 10:14:38

标签: c# regex matching

我有以下阿拉伯文字:

الْكَلَامُ عَلَيْهِ مِنْ وُجُوهٍ:أَحَدُهَا: أَنَّ هَذِهِ الْجُمْلَةَ وَنَظَائِرَهَا مِنْ خُطْبَةِ الْكِتَابِ مُرَبَّعَةٌ نُونِيَّةٌ.

正如您所看到的那样,角色是发声的。据我所知,每个人声都被视为一个角色。起初我在在线正则表达式测试网站上尝试了以下选项,他们都工作并返回结果,但在C#中它从未起作用。我尝试了以下方法:

        var t1 = Regex.Matches(txt, "/[ًٍَِْ]/g", RegexOptions.RightToLeft);
        var t2 = Regex.Matches(txt, "/([\u064B-\u0652])/g", RegexOptions.RightToLeft);

在t1中,我试图匹配人声本身(),但这不起作用,因为它给出零匹配。在t2中,我尝试使用它们的Unicode表示,但它也不起作用。

1 个答案:

答案 0 :(得分:6)

尝试使用

var inp1 = "الْكَلَامُ عَلَيْهِ مِنْ وُجُوهٍ:أَحَدُهَا: أَنَّ هَذِهِ الْجُمْلَةَ وَنَظَائِرَهَا مِنْ خُطْبَةِ الْكِتَابِ مُرَبَّعَةٌ نُونِيَّةٌ.";
var t2 = Regex.Matches(inp1, "[\u064B-\u0652]", RegexOptions.RightToLeft);

您在C#模式中使用JavaScript表示法,以防止匹配。

这是输出:

enter image description here