gpt4 book ai didi

java - 正则表达式中的逻辑或

转载 作者:行者123 更新时间:2023-11-30 03:27:41 25 4
gpt4 key购买 nike

我想使用 java regex 测试以下情况:

  • AB -> 允许
  • AC -> 允许
  • ABC -> 允许
  • A -> 禁止

以下是 A、B 和 C 正则表达式:

  • 答:(([0-9]{1,3})(\.[0-9]{1,3})?)
  • B:(\+([0-1](\.[0-9]{1,3}))
  • C:(-([0-1](\.[0-9]{1,3}))

那么如何使用逻辑 OR 创建我的正则表达式?

解决方案

^(([0-9]{1,3})(\.[0-9]{1,3})?)([-+]([0-1](\.[0-9]{1,3}))|(\+([0-1](\.[0-9]{1,3}))(\-([0-1](\.[0-9]{1,3})))))$

最佳答案

您可以组合BC带有 put 的正则表达式 +-在字符类中并使用以下正则表达式:

^(([0-9]{1,3})(\.[0-9]{1,3})?)([-+]([0-1](\.[0-9]{1,3}))|(\+([0-1](\.[0-9]{1,3}‌​))(\-([0-1](\.[0-9]{1,3})))))$

在这种情况下,您总是会得到 A之后是 BCBC

解释:

您的正则表达式将是 ABACABC所以在A之后你想要BCBC您可以创建 BC带推杆+-在字符类中:

([-+]([0-1](\.[0-9]{1,3}))

然后使用 pip ( | ) 作为前面的选项和 BC 之间的逻辑或。如下:

(\+([0-1](\.[0-9]{1,3}))(\-([0-1](\.[0-9]{1,3}))

关于java - 正则表达式中的逻辑或,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29799931/

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