我有一个字符串管道'|' 分隔.我需要一个正则表达式来根据管道字符验证项目数.所以正则表达式将执行以下操作:
如果项目的最大数量为三:
asdfasdf | asdfasdf | asdfasdf =有效
asdfasdf | asdfasdf | asdfasdf | asdfasf =无效
此外,此字符串可能为空.
任何帮助将非常感激
问候
^(?:[^|]+(?:\|[^|]+){0,2})?$
Run Code Online (Sandbox Code Playgroud)
这将匹配空字符串或最多三个管道分隔的项目,其中项目可以是管道以外的任何字符.在这种模式中,每个项目至少需要一个字符; 如果要允许空白项目,请将+s 更改为*s.
如果要更改允许的项目数的上限,请更改{0,2}为{0,max-1},max您希望的限制在哪里(因为您max - 1的字符串中最多将包含管道以使其有效).