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

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

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

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}文字”匹配一次或两次
>(?!“)文字的负面预测”.之后的比赛不能有这个角色

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

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...