我想要一个正则表达式只匹配 "
- 不要出现在行首或行首的空格之后
- 不要出现在行尾或行尾的空白之前
我想我需要使用lookbehind和lookahead。
所以匹配 " in
zfgjhsgaf jhsa gd " gjhygf" hgf
但不在
"gjhgjkgjhgjhgkk"
"dfsdfsdf"
我想要一个正则表达式只匹配 "
我想我需要使用lookbehind和lookahead。
所以匹配 " in
zfgjhsgaf jhsa gd " gjhygf" hgf
但不在
"gjhgjkgjhgjhgkk"
"dfsdfsdf"
对于 Eclipse,尝试通过这个正则表达式查找:
(?<!^\s*)"(?!\s*$)
并替换为:
\"
这个应该工作
^\s*[^"].*".*[^"]\s*$
在这里看到这个
(?<!^)"(?!\s*$)
它不适用于行首之后的空格。正如 BoltClock 所提到的,只有少数引擎(我只知道 .net)支持可变长度后视。
如果您使用支持它的正则表达式,则可以使用
(?<!^.*)"(?!\s*$)
perldoc.perl.org/perlretut.html#Looking-ahead-and-looking-behind中有一个很好的前瞻/后视文档
^\s*"?.*\S.*(").*?\S.*?"?\s*$
假设这是您想要找到的东西,它支持匹配“foo”bar”。
哦,只有设置了 $1 才匹配
我认为 whis re 的表达能力很强:
^\s*\S+.*innertext.*\S+\s*$