我正在制作一个正则表达式,需要以下格式有空格
无效的值可能是
答案 0 :(得分:0)
我会用:
^([A-Z0-9]+(?:-[A-Z0-9]+)?)(?:,(?1))*$
<强>解释强>
^ : Start of string
( : begin group 1
[A-Z0-9]+ : 1 or more alphanum
(?: : begin NON capture group
- : literally -
[A-Z0-9]+ : 1 or more alphanum
)? : end group, optional
) : end group 1
(?: : begin NON capture group
, : literally ,
(?1) : repeat regex in group 1
)? : end group,optional
$
如果(?1)
不起作用,则必须复制相关部分:
^[A-Z0-9]+(?:-[A-Z0-9]+)?(?:,[A-Z0-9]+(?:-[A-Z0-9]+)?)*$
如果你想处理可选空格:
^\s*[A-Z0-9]+(?:\s*-\s*[A-Z0-9]+)?(?:\s*,\s*[A-Z0-9]+(?:\s*-\s*[A-Z0-9]+)?)*\s*$