Regex 正则表达式允许A-D加符号和#x27,和括号
我正在尝试创建一个只接受a-D,加上符号',和括号的正则表达式 例如(A+B+C+D)(A+B)(A') 它们必须都在括号内才能工作,但目前我的正则表达式允许括号外的术语也工作Regex 正则表达式允许A-D加符号和#x27,和括号,regex,Regex,我正在尝试创建一个只接受a-D,加上符号',和括号的正则表达式 例如(A+B+C+D)(A+B)(A') 它们必须都在括号内才能工作,但目前我的正则表达式允许括号外的术语也工作 ^[A-D\(\)\'+]+$ 需要一些帮助谢谢为了确保所有内容都在一对括号内(()),括号不应在字符类内。将它们移到外面,并用重复的非捕获组将其包围,如下所示: ^(?:\([A-D'+]+\)+$ 这仍然允许A-D、加号和单引号以任意顺序出现在括号内。如果您不希望这样,则需要将正则表达式更改为以下内容: ^(?:
^[A-D\(\)\'+]+$
需要一些帮助谢谢为了确保所有内容都在一对括号内(
()
),括号不应在字符类内。将它们移到外面,并用重复的非捕获组将其包围,如下所示:
^(?:\([A-D'+]+\)+$
这仍然允许A-D、加号和单引号以任意顺序出现在括号内。如果您不希望这样,则需要将正则表达式更改为以下内容:
^(?:\([A-D]+'?(?:\+[A-D]+'?)*\)+$
这将符合以下条件:
(A)
(A)
(A+A)
(A'+A)
(A'+A')
为了确保所有内容都在一对括号内(()
),括号不应位于字符类内。将它们移到外面,并用重复的非捕获组将其包围,如下所示:
^(?:\([A-D'+]+\)+$
这仍然允许A-D、加号和单引号以任意顺序出现在括号内。如果您不希望这样,则需要将正则表达式更改为以下内容:
^(?:\([A-D]+'?(?:\+[A-D]+'?)*\)+$
这将符合以下条件:
(A)
(A)
(A+A)
(A'+A)
(A'+A')
这应该可以正常工作:
^(?:\([A-D]'?(?:\+[A-D]'?)*\))+$
请访问以试用一个工作演示。这应该可以正常工作:
^(?:\([A-D]'?(?:\+[A-D]'?)*\))+$
请访问以试用有效的演示。您的正则表达式很好。不过,您不需要转义字符,
^[A-D()'+]+$
就足够了。进一步证明您的正则表达式没有问题:并且您不需要转义字符:试试您的正则表达式没有问题。不过,您不需要转义字符,^[A-D()'+]+$
就足够了。进一步证明您的正则表达式没有问题:并且您不需要转义字符:试试看