因此,我可以使用负向后搜索来搜索字符串<ANYTHING>.dbo.TableName
的所有出现情况,其中<ANYTHING>
不是某些特定的字符串。问题在于返回的匹配项未捕获<ANYTHING>
子表达式的值。例如,如果我有以下文字:
Test1.dbo.MyTable
Test2.dbo.MyTable
Test123.dbo.MyTable
Test223.dbo.MyTable
我使用以下正则表达式:
(?<!Test1)\.dbo\.MyTable
它确实捕获除第一个事件以外的所有事件,但匹配项仅包含
.dbo.MyTable
,而不包含被负向后视忽略的先前值。如何捕捉缺失的部分? 最佳答案
您可以在后面加上\w
来匹配单词字符,以匹配整个子字符串。
\w+(?<!Test1)\.dbo\.MyTable
Explanation | Live Demo
关于c# - 在仍然返回匹配的子表达式的同时使用负向后看,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26890718/