微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

正则表达式匹配一个或两个引号,但不是连续三个

对于我的生活,我无法想象这一个.

我需要搜索以下文本,仅匹配粗体引号:

Don’t match: “””This is a python docstring”””

Match: This is a regular string

Match: “” ← That is an empty string

我怎么能用正则表达式做到这一点?

这是我尝试过的:

不起作用:

(?!"")"(?<!"")

关闭,但不匹配双引号.

不起作用:

"(?<!""")|(?!"")"(?<!"")|(?!""")"

我天真地认为我可以添加我不想要的替代品,但逻辑最终会逆转.这个匹配所有内容,因为所有引号都至少匹配其中一个替换项.

(请注意:我没有运行代码,因此使用__doc__的解决方案无济于事,我只是想在我的代码编辑器中查找和替换.)

你可以使用/(?<!“)”{1,2}(?!“)/ DEMO

尸检:

>(?<!“)文字的负面后视”.比赛不能在前面有这个角色
>“{1,2}文字”匹配一次或两次
>(?!“)文字的负面预测”.之后的比赛不能有这个角色

你的第一次尝试可能会失败,因为(?!“)是一个负向前瞻,而(?<!”)是一个负面的后视.在比赛开始之前先进行预测,或者在比赛结束后进行后卫是毫无意义的.

原文地址:https://www.jb51.cc/regex/356824.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐