[英]How can I craft a regular expression to match a comma delimited list with a maximum of 5 items in the list?
應該與正則表達式匹配的示例:
我想創建一個與逗號分隔的列表匹配的正則表達式:
到目前為止我所做的(不起作用):
/^([a-z0-9]{2,30}, ?)?[a-z0-9]{2, 30}$/i
試試這個:
/^[a-z0-9-]{2,30}(,\s?[a-z0-9-]{2,30}){0,4}$/i
分手:
/^
[a-z0-9-]{2,30} # One item for sure
( # A capture group. You can make it non-capture if not required
,\s? # Comma followed by optional space
[a-z0-9-]{2,30} # Another item
){0,4} # 0 to 4 repetition.
$/ix
您甚至可以使用\\w
縮短正則表達式,這相當於 - [0-9a-zA-Z_]
,在更新后的評論之后,您說您也可以接受_
。 所以,只需使用:
/^[\w-]{2,30}(, ?[\w-]{2,30}){0,4}$/
/^[^,]{2,30}(, ?[^,]{2,30}){0,4}$/
使用[^,]
是因為您沒有指定允許的字符,因此我假設不允許使用逗號。 您當然可以使用[a-zA-Z0-9_-]
, \\w
或該角色類的任何其他限制。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.