具有单词边界的正则表达式索引值

时间:2015-06-18 16:28:03

标签: c# .net regex

以下是0;有什么方法可以得到4的价值吗?

var searchString = "two";
var result = Regex.Match("one two", "\b" + searchString + "\b").Index

2 个答案:

答案 0 :(得分:3)

你应该使用逐字字符串:

Regex.Match("one two", @"\b" + searchString + @"\b").Index
                       ^                      ^

在您的代码中,\b被解释为退格符。使用@前缀字符串文字会使编译器忽略字符串转义序列并将\b原样传递给正则表达式引擎。

答案 1 :(得分:0)

这有效:

Regex.Match("one two", "\\btwo\\b").Index

我不能使用逐字字符串,因为在我的工作示例中字符串" two"是一个变量。谢谢你的帮助!