正则表达式和阿拉伯语“Tanwin”

时间:2012-06-26 10:35:10

标签: regex vb.net arabic

我正在尝试使用VB .NET匹配从字符串输入中的数据库驱动的单词 我使用的语法非常简单:

Regex.Matches(ArticleBody, "\b" & TagLabel & "\b", RegexOptions.IgnoreCase)

其中“TagLabel”是数据库中的变量,“ArticleBody”是用户输入。 一切正常,但我有一点问题:

我们假设:

TagLabel = "مصر"
ArticleBody = "لكن الجنرال المدني مصرٌ على الأمل، ولو كان حزيران يشي بالعكس."

请注意第四个单词末尾的ArticleBody“”中“مصر”中的“Tanwin”。 正则表达式函数匹配单词“مصر”,而它不应该。 我已经搜索了解决方案,但没有找到任何解决方案。

请告知。

1 个答案:

答案 0 :(得分:2)

你应该尝试:

Regex.Matches(ArticleBody, "\b" & TagLabel & "\b", 
  RegexOptions.IgnoreCase | RegexOptions.RightToLeft)

更新:试试这个:

Regex.Matches(ArticleBody, "(?<=(?:\s|^))" & TagLabel & "(?=(?:\s|$))", 
  RegexOptions.IgnoreCase | RegexOptions.RightToLeft)
相关问题