我需要使用正则表达式匹配给定文本中的确切单词。
代码如下,
var matchterm = "VO";
var pattern = "\\b(" + matchterm + ")\\b";
var text = "FOR OVER FIFTY YEARS WATER FUTURE VOA VO>> VO";
var regx = new Regex(pattern,RegexOptions.IgnoreCase);
var collection = regx.Matches(text);
在这里,我试图从文本中获取准确的“VO”(不是来自 VOA 或 VO>>)。问题是正确匹配,我也从“VO>>”获取“VO”,但我不知道我不想。请帮忙。
最佳答案
您可以使用正则表达式 (?<!\S)(VO)(?!\S)
:
string pattern = String.Format("(?<!\\S){0}(?!\\S)", matchterm);
它将确保matchterm
前面是任何空白字符或行首,后面是任何空白字符或行尾
关于c# - 在 C# 中使用正则表达式获取单词的精确匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38481810/