对于我的生活,我无法想象这一个.
我需要搜索以下文本,仅匹配粗体引号:
不匹配:"""这是一个python docstring"""
匹配:"这是一个常规字符串"
匹配:"" ←这是一个空字符串
我怎么能用正则表达式做到这一点?
这是我尝试过的:
不起作用:
(?!"")"(?关闭,但不匹配双引号.
不起作用:
"(?我天真地认为我可以添加我不想要的替代品,但逻辑最终会逆转.这个匹配所有内容,因为所有引号至少匹配一个替换项.
(请注意:我没有运行代码,因此使用的解决方案
__doc__
无济于事,我只是想在我的代码编辑器中查找和替换.)
您可以使用 /(?<!")"{1,2}(?!")/
DEMO
尸检:
(?<!")
文字的负面观察"
.比赛不能在前面有这个角色
"{1,2}
文字"
匹配一次或两次
(?!")
文字的负面预测"
.之后的比赛不能有这个角色
你的第一次尝试可能会失败,因为这(?!")
是一个负面的预测,并且(?<!")
是一个负面的后视.在比赛开始之前先进行预测,或在比赛结束后进行后视是没有意义的.