3

我是正则表达式的新手。我的输入是一个带逗号的字符串。我需要验证每个子字符串的长度为 3,用逗号分隔。示例:“em1,erg,123,enc” 这里子字符串长度为 3,因此有效。如果“em1,erg,123,ency”,应该是无效的。如何在没有任何其他代码的情况下验证正则表达式?

4

1 回答 1

5

您可以使用以下正则表达式:

^(?:[^,]{3},)*[^,]{3}$

正则表达式图片

在 Debuggex 上实时编辑

它由以下部分组成:

  • ^- 字符串的开头
  • [^,]{3}- 正好三个字符不是逗号
  • ,- 一个逗号
  • (?: ... )*- 前者包裹在(非捕获)组中,后跟 a *,让包含的模式重复(零次或多次)。
  • [^,]{3}- 恰好三个字符不是逗号。这是匹配最后三个字符所必需的(最后没有逗号)
  • $- 字符串的结尾
于 2013-06-20T10:53:37.637 回答