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

本文关键字:正则表达式 索引值 边界 单词 | 更新日期: 2023-09-27 17:57:10

以下内容返回0;有什么方法可以得到4的值吗?

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

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

你应该使用逐字字符串:

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

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

这有效:

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

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