gpt4 book ai didi

java - 正则表达式以某种方式组合 AND 操作数、NOT 操作数和捕获组

转载 作者:行者123 更新时间:2023-12-01 20:05:38 26 4
gpt4 key购买 nike

我知道您可以通过以下方式在正则表达式中使用 NOT 操作数:

  • [^AB] :匹配除 "A" 之外的任何内容或"B"
  • A(?!B) :匹配"A" ,后面不跟 "B"
  • (?<!A)B) :匹配 "B"没有"A"在它前面

但是是否可以将其中任何一个与 AND 和捕获组匹配一起使用?如:

  • 非工作伪代码 ([AB])([AB]&&[^\\1]) :匹配"AB""BA" (但不是 "AA""BB" )

我知道正则表达式中并没有真正的 AND 操作数,这是另一件事应该同时修复..

请注意,上面只是一个示例,在我的正则表达式 AB 中有点长,捕获组不在它旁边。我只是隔离了这个问题中的问题部分。

最佳答案

试试这个正则表达式:

^(?!([AB])\1)[AB]+$

Click for Demo

说明:

  • ^ - 断言字符串的开头
  • (?!([AB])\1) - 负向前瞻,以验证 A 后面没有另一个 AB 后面没有另一个 B
  • [AB]+ - 匹配 1 次以上出现的 AB
  • $ - 断言字符串结尾

关于java - 正则表达式以某种方式组合 AND 操作数、NOT 操作数和捕获组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47459707/

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