我是正则表达的新手。我的输入是一个逗号字符串。我需要验证每个子字符串长度是3,用逗号分隔。例如:“em1,erg,123,enc”这里子字符串长度为3,因此它是有效的。如果“em1,erg,123,ency”,它应该是无效的。如何在没有任何其他代码的情况下验证正则表达式?
答案 0 :(得分:5)
您可以使用以下正则表达式:
^(?:[^,]{3},)*[^,]{3}$
它由以下部分组成:
^
- 字符串的开头[^,]{3}
- 正好三个字符不是逗号,
- 逗号(?: ... )*
- 前者包裹在(非捕获)组中,后跟*
,它允许包含的模式重复(零次或多次)。[^,]{3}
- 正好三个字符不是逗号。这是匹配最后三个字符(最后没有逗号)的必要条件。$
- 字符串