我想要一个正则表达式只匹配“那个
我想我需要使用lookbehind和lookahead。
匹配“in
zfgjhsgaf jhsa gd " gjhygf" hgf
但不在
"gjhgjkgjhgjhgkk"
"dfsdfsdf"
答案 0 :(得分:2)
对于Eclipse,请尝试通过此正则表达式进行查找:
(?<!^\s*)"(?!\s*$)
替换为:
\"
答案 1 :(得分:0)
这个应该有效
^\s*[^"].*".*[^"]\s*$
答案 2 :(得分:0)
在此处查看
(?<!^)"(?!\s*$)
它不适用于行开头后的空格。正如BoltClock所提到的,可变长度外观仅由少数引擎支持(我只知道.net)。
如果您使用支持它的正则表达式,则可以使用
(?<!^.*)"(?!\s*$)
perldoc.perl.org/perlretut.html#Looking-ahead-and-looking-behind
中有一个关于前瞻/后退的好文档答案 3 :(得分:0)
^\s*"?.*\S.*(").*?\S.*?"?\s*$
支持匹配'“foo”bar“',假设您想要找到它。
哦,只有在设置了$ 1时它才匹配
答案 4 :(得分:0)
我觉得你的表现很有意思:
^\s*\S+.*innertext.*\S+\s*$