我正在寻找这样的东西:1 * 2 4 3 *
但这并未考虑字符串231之类的不同顺序。有什么想法如何使用正则表达式指定顺序?
我不知道您的意图是什么1^* 2^4 3^*
,但是根据您的描述,
/^([13]*2){0,4}[13]*$/
将匹配的任意组合1
,2
和3
,但不超过四个2
。
但是,您没有指定regexp引擎,因此它可能在某些情况下(尤其是那些没有{}
重复运算符的引擎)不起作用,在这种情况下,您需要解压缩它。
编辑:看了三胞胎的评论,我终于理解了最初的尝试。无论如何,在正式的正则表达式中,您肯定需要解压缩(不仅您没有{}
,甚至没有的x?
简写形式(x|ε)
):
(1|3)*
(2 (1|3)*
(2 (1|3)*
(2 (1|3)*
(2 (1|3)*
|ε)
|ε)
|ε)
|ε)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句