我需要帮助为以下字符串编写正则表达式:
输入的范围必须用逗号+空格分隔
可以使用字母数字字符。
接受 - 介于两者之间,但不能以 - 或
以下是有效字符串:
ABC001, 11236, IU765, OI001-OI007, PO98, 98700
VA009, VA778
YU987
889022
以下是无效字符串:
,,,&*(&
AB998,,,, AB998
AB005-AB002,-
答案 0 :(得分:3)
请尝试以下正则表达式
^[A-Z0-9]+((,\s|-)[A-Z0-9]+)*[A-Z0-9]+$
检查以下内容:
,
或-
多于一种模式您可以在Regexr.com
在线试用答案 1 :(得分:1)
遵循您的规则的正则表达式是^[a-zA-Z0-9-]*[a-zA-Z0-9]+(?:, [a-zA-Z0-9-]*[a-zA-Z0-9]+)*$
规则意味着:
^
[a-zA-Z0-9-]*[a-zA-Z0-9]+
(?:, [a-zA-Z0-9-]*[a-zA-Z0-9]+)*
$
已编辑 再次编辑当规则发生变化时,再次