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

前端之家收集整理的这篇文章主要介绍了正则表达式匹配一个或两个引号,但不是连续三个前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对于我的生活,我无法想象这一个.

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

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

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

原文链接:/regex/356824.html

猜你在找的正则表达式相关文章