Skip to main content
 首页 » 编程设计

c#之正则表达式匹配 "target string"

2024年02月23日30duanxz

环境: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\]?=)'[^']*(?=')