gpt4 book ai didi

java - 特定单词多次出现的正则表达式

转载 作者:行者123 更新时间:2023-12-02 11:11:31 30 4
gpt4 key购买 nike

你好

我正在尝试创建一个验证规则来检查正则表达式以仅接受特定短语。正则表达式基于 Java。

以下是正确输入的示例:

  • 1OR2
  • 2
  • 1 或 2 或 15
  • (2OR3) AND 1
  • (12AND13 AND1)OR(4 AND5)
  • ((2AND3 AND 1)OR(4AND5))AND6
  • 但如果只有正则表达式可以接受类似的内容,我会很高兴:

    ())34AND(4

    我不知道如何创建正则表达式来检查括号是否正确打开和关闭(它们可以嵌套)。我认为不可能在正则表达式中检查它,因此对我已经在代码(堆栈实现)中所做的括号进行正确的验证。在代码中,我对短语进行了第二步验证。

    我需要正则表达式做的就是检查短语中是否有这些特定的内容:

    允许使用数字、圆括号、多次出现的单词 AND 和 OR 以及空格。它不应该接受字母或其他字符。到目前为止我成功创建的是:

    ^[0-9\\(][0-9\\(\\)]*

    还尝试添加类似的内容:

    \\b(AND|OR)\\b

    在第二对括号内,但没有运气。

    我不知道如何纠正它以添加 OR 和 AND 单词。

    最佳答案

    我使用了以下内容并匹配了您提供的所有输入:

    ^[^\)][0-9 \( (AND|OR)]*$

    我假设您不想以 ) 开头,这就是我添加 ^[^\)] 的原因。

    如果你不知道,我使用 https://www.regexpal.com检查我的代码的正则表达式。

    关于java - 特定单词多次出现的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50589281/

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