gpt4 book ai didi

regex - 如何创建正则表达式来验证包含某些命令的用户表达式?

转载 作者:行者123 更新时间:2023-12-02 03:13:50 25 4
gpt4 key购买 nike

我需要验证可以包含括号、“or”和“and”的用户输入。

规则很简单:

1- 括号可以在任何地方使用,但左括号必须有右括号(我可能会用代码验证这部分)。2- 表达式绝不能在 block 内以“或”或“和”结尾。例如:

John and Jane -> OK

John and -> NOT OK

(John and) -> NOT OK

John or -> NOT OK

(John or) -> NOT OK

所以它总是:

[可选括号] WORD [可选运算与或][可选括号]

我想到了这个,但这还不够,但这是一个开始。

\b\w.*(?=or|and).*\w

这适用于带括号的内容

注意:我不关心单词之间的空格数量。

用户可以多次组合这些表达式 block 。

最佳答案

^\(?((\w+|\((?1)\))\s+(?>and|or)\s+(\w+|\((?1)\)))\)?$

本来觉得做不到,后来发现递归。 https://regex101.com/r/aD7dT0/4

编辑 1:这是坏的,已修复

编辑 2: 制作了一个更好的正则表达式 + 它进行括号验证,但整个语句周围的括号除外

关于regex - 如何创建正则表达式来验证包含某些命令的用户表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38250322/

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