我目前使用(\d{1,})(,\d{1,})*
作为正则表达式来接受以逗号分隔的数字字符串。
我如何修改它以使其接受"通配符" %
和_
等符号,因此以下内容也有效:
188%,45311,423424,_343%
%
_132
%123%
我不认为这是一个难以写的正则表达式,只是因为我不知道如何编写它们。 [%_0-9,]*
有点做,但它不像我希望的那样具体。
答案 0 :(得分:1)
我如何修改它以使其接受"通配符"
等符号%
和_
不仅仅是\d
,而是接受character class,即[\d%_]
:
[\d%_]+(,[\d%_]+)*
提示:{1,}
相当于+
,第一组括号是多余的。
对表达式的进一步修改取决于您是否将_,_,_,_
定义为有效(我猜你有)。
如果要排除部分匹配,请将锚点^
和$
分别添加到正则表达式的开头和结尾。