gpt4 book ai didi

满足多个条件的正则表达式

转载 作者:行者123 更新时间:2023-12-04 09:43:53 25 4
gpt4 key购买 nike

我需要想出一个带有 flavor PCRE 的正则表达式。它必须是正则表达式 <

我想获取所有以换行符结尾的文本行,直到遇到 <zz>其中 zz 是括在 ' < 中的数字' 和 ' > '。

例如

111a z
222 aset
333 //+
12 <zz> 11
abc
def

在这种情况下,它需要捕获“ 111a z”、“ 222 aset”、“ 333 //+”[并且没有别的]。
现在我有 ^(?!.*<zz>)[^\n]+(?=\n)但这与它所需要的相去甚远。

为了澄清起见,我使用的正则表达式显示 <zz> ,但肯定是在寻找用尖括号括起来的数字。

真的很感激一些帮助。

编辑

这对我来说/真的/很难,因为至少有一个答案看起来很有效。我会尝试标记一个...谢谢大家。

最佳答案

您可以重复匹配所有行,包括 Unicode 换行符序列,而 <\d+>线中不会出现模式。

\A(?:(?!.*<\d+>).*\R)+

说明
  • \A字符串开头
  • (?:非捕获组
  • (?!.*<\d+>)负前瞻,断言模式 <\d+>不发生
  • .*\R匹配除换行符之外的任何字符,然后匹配 Unicode 换行符序列
  • )+关闭非捕获组,重复 1+ 次以匹配至少一行

  • Regex demo

    如果 <\d+>必须在场,你可以断言最后有一个积极的前瞻
    \A(?:(?!.*<\d+>).*\R)+(?=.*<\d+>)

    关于满足多个条件的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62207897/

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