gpt4 book ai didi

python - 匹配除三个连续双引号之外的所有内容

转载 作者:太空宇宙 更新时间:2023-11-04 11:16:13 26 4
gpt4 key购买 nike

我正在寻找一个正则表达式来解析除三个连续双引号之外的所有内容。问题是,当我使用正常的否定前瞻时,连续的双引号会被吞噬,并且它与我想要的不匹配。

假设我有以下文本:

Lorem Ipsum
"""
sdsdfgsdf
"""
bar

并希望 linewise-regex 匹配第一行、第三行和第五行,但不匹配 """

我尝试了以下正则表达式:/(?!""").*/,但那是双引号被吞噬的时候。尝试使用 ["] 一次匹配一个双引号也失败了:/(?!["]["]["]).*/

我正在使用 Python 来匹配正则表达式。

我有什么想法可以让这个正则表达式工作吗?

最佳答案

未锚定模式 (?!""").* 将匹配任何字符 0+ 次,如果右边不是 """。由于它没有锚定,它将在 """ 中的第一个 " 之后匹配,因为在该位置断言将成功。

如果这 3 个双引号不能出现在字符串中,您必须使用 anchor ^ 断言字符串的开头并将 .* 添加到否定先行:

^(?!.*""").*$

或者如果字符串中只有 3 个连续的引号,则只使用它们。

^(?!"""$).*$

Regex demo

关于python - 匹配除三个连续双引号之外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56955835/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com