正则表达式模式重复

TasDePixels

regex noob在这里,我为输入创建了一个regex验证器,我正在尝试验证以下内容:

{ word } //valid
{ word } ; { word } //also valid

所以我想出了这个:

^[\s]*\{[a-zA-z\s]*\}[\s]*$|^[\s]*\{[a-zA-z\s]*\}[\s]*\;[\s]*[\s]*\{[a-zA-z\s]*\}[\s]*$

它可以工作,但是问题是我之后不能添加任何东西。我想根据需要重复“; {word}”部分。我怎样才能做到这一点 ?

维克多·史翠比维

您可以使用

/^\s*{\s*[a-zA-Z]+\s*}\s*(?:;\s*{\s*[a-zA-Z]+\s*}\s*)*$/

正则表达式演示

细节

  • ^ -字符串开始
  • \s*{\s*[a-zA-Z]+\s*}\s*-{包含0+空格,1 + ASCII字母,然后}包含0+空格
  • (?: -非捕获组的开始:
    • ; -分号
    • \s*{\s*[a-zA-Z]+\s*}\s*-{包含0+空格,1 + ASCII字母,然后}包含0+空格
  • )* -零次或多次
  • $ -字符串结尾。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章