复杂的Javascript Regexp表达式

Bha*_*mar 0 javascript regex

我想测试特定文本字段的内容以满足以下规则:

  1. 它应该是5位数字和每个数字末尾的插入符号.
  2. 以上只能发生4次,整个内容应始终以数字结尾.

例子:

有效

  • 11111 ^ 11111
  • 11111

无效

  • 11111 ^ ^ 11111 1111
  • 11111 ^ ^ 11111 ^ 11111 ^ 11111 11111
  • 11111 ^ ^ 11111 ^ 11111 ^ 11111
  • 11111 ^

我试图使用正则表达式实现相同,并尝试:

/^([0-9]{5}\^){1,4}$/g
Run Code Online (Sandbox Code Playgroud)

Joã*_*lva 5

请尝试以下方法:

/^\d{5}(\^\d{5}){0,3}$/
Run Code Online (Sandbox Code Playgroud)

它在行的开头匹配5位数^\d{5},后跟0到3 {0,3}组插入符号和5位数(\^\d{5}),从而保证您只能有4个组.

演示.

  • @Daedalus:我承认这个问题有点令人困惑,但我认为根据OP的例子和他的介绍,他基本上想要匹配由插入符号分隔的5位数组,最多4组.我认为,这种解释反映了引言以及示例和我的正则表达式. (2认同)