gpt4 book ai didi

python - 提示需要使用正则表达式环视

转载 作者:太空宇宙 更新时间:2023-11-04 05:06:19 29 4
gpt4 key购买 nike

假设有一个序列 ...a...b...a...b...c... ,其中 a,b 和 c 是字符串常量。点表示 a、b 和 c 之间任意数量的其他(不是 a、b 或 c)符号。

我想以最懒惰的方式匹配“a...b...c”(最后一个 a-b-c 三元组),但正则表达式引擎会获取更大的“a...b...a...b” ...c"并走得更远。

我尝试使用 a\w+b\w+(?!a)\w+ca\w+b\w+?(? !a)\w+?c 等,但到目前为止没有成功。

最佳答案

您需要使用 tempered greedy tokens在这三个部分之间。

假设 aabcbbffcCCA。然后,你会使用

(?s)abc(?:(?!abc).)*?bff(?:(?!abc).)*?cca

参见 regex demo

详细信息:

  • (?s) - 与 re.Sre.DOTALL 修饰符相同,使 . 匹配换行
  • abc - 文字字符串 abc 或某种模式 #1
  • (?:(?!abc).)*? - 除换行符之外的任何 0+ 个字符,不开始 abc 序列,尽可能少
  • bff - 文字字符串 bff 或某种模式 #2
  • (?:(?!abc).)*? - 见上文
  • cca - 文字字符串 cca 或某种模式 #3

关于python - 提示需要使用正则表达式环视,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44399583/

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