gpt4 book ai didi

python - 具有特定结尾的多行模式

转载 作者:太空宇宙 更新时间:2023-11-03 20:42:41 25 4
gpt4 key购买 nike

我尝试匹配一些多行模式,该模式具有最后一行的特定序列结尾。

我正在使用 re.DOTALL | re.MULTILINE 来匹配多行,但它没有捕获我想要的第一行的末尾。

title = re.compile(
r"TITLE\([^\"\);]*",
re.DOTALL | re.MULTILINE
)

titles = re.findall(patterns.title, file)

字符串的格式为:

TITLE("blah    blah_blah    contain_"    contain_)    contain_;    but_not_");");

结果是Title(",但我想要所有字符串。

最佳答案

解决此问题的一种方法是使用前瞻来测试“结束标记”,在您的情况下 ");

re.compile(r"TITLE\(\"((?:(?!\"\);).)*)", re.DOTALL | re.IGNORECASE)

将匹配示例字符串的这一部分

blah_blah
contain_"
contain_)
contain_;
but_not_

说明:

TITLE            # literal: TITLE (case-insensitive with re.IGNORECASE)\(\"             # literal: ("(                # group 1  (?:            #   non-capturing group    (?!          #     negative look-ahead      \"\);      #       not followed by: ");    )            #     end look-ahead    .            #     match next character (including \n with re.DOTALL)  )*             #   end non-capturing group, repeat)                # end group 1 (will contain the final match)

https://regex101.com/r/km3uuV/1

关于python - 具有特定结尾的多行模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56771821/

25 4 0
文章推荐: python - 模拟 Tornado AsyncHTTPClient 请求/响应
文章推荐: javascript - 如何定位特定
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com