环境:Visual Studio 2008 SP1
如何编写以下正则表达式?
我正在尝试到达'目标字符串。模式是 [name]=' '
之间的任何字符串/*Input String*/
SET [blah] = 'AE', [blah] = 'A1A', [number] = 004 WHERE [name]='target string'
/*Current Regex*/
(?<=[?name]?=).*(?=\')
/*Current Results*/
'AE', [blah] = 'A1A', [number] = 004 WHERE [name]='target string
/*Desired Results*/
'target string
请您参考如下方法:
您需要转义方括号,否则它们会被误解为创建字符类。也就是说,您需要:
(?<=\[?name\]?=).*(?=\')
我还建议将 .* 更改为更明确的 '[^']*,这样您就不会冒险在之后 目标字符串; Tim Pietzcker 指出(在现已删除的评论中)您可以编写 ' 而不是 \' (接近正则表达式的末尾);所以:
(?<=\[?name\]?=)'[^']*(?=')
