3

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

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

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

让我们假设:

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

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

请指教。

4

1 回答 1

2

你应该试试:

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

更新:试试这个:

Regex.Matches(ArticleBody, "(?<=(?:\s|^))" & TagLabel & "(?=(?:\s|$))", 
  RegexOptions.IgnoreCase | RegexOptions.RightToLeft)
于 2012-06-26T12:20:07.743 回答