我正在尝试使用VB .NET匹配从字符串输入中的数据库驱动的单词 我使用的语法非常简单:
Regex.Matches(ArticleBody, "\b" & TagLabel & "\b", RegexOptions.IgnoreCase)
其中“TagLabel”是数据库中的变量,“ArticleBody”是用户输入。 一切正常,但我有一点问题:
我们假设:
TagLabel = "مصر"
ArticleBody = "لكن الجنرال المدني مصرٌ على الأمل، ولو كان حزيران يشي بالعكس."
请注意第四个单词末尾的ArticleBody“”中“مصر”中的“Tanwin”。 正则表达式函数匹配单词“مصر”,而它不应该。 我已经搜索了解决方案,但没有找到任何解决方案。
请告知。
答案 0 :(得分:2)
你应该尝试:
Regex.Matches(ArticleBody, "\b" & TagLabel & "\b",
RegexOptions.IgnoreCase | RegexOptions.RightToLeft)
更新:试试这个:
Regex.Matches(ArticleBody, "(?<=(?:\s|^))" & TagLabel & "(?=(?:\s|$))",
RegexOptions.IgnoreCase | RegexOptions.RightToLeft)