我正在尝试匹配模式中的字符串,
数字
, 或 - 或 N
数字
([0-9]+[,-N])+[0-9]+
应该匹配,
87-7-6
86-6-2,3
4-N-0
87-7-6
86-14-2,3
4-N-0
不匹配,
4-N-0
有什么帮助吗?
我正在尝试匹配模式中的字符串,
数字
, 或 - 或 N
数字
([0-9]+[,-N])+[0-9]+
应该匹配,
87-7-6
86-6-2,3
4-N-0
87-7-6
86-14-2,3
4-N-0
不匹配,
4-N-0
有什么帮助吗?
您需要对集合中的破折号进行转义,否则它将匹配从逗号到 N 的所有字符。
([0-9]+[,\-N])+[0-9]+
它不匹配4-N-0
,因为它不属于您描述的应该匹配的内容。如果您希望它匹配多个分隔符,请+
在该集合之后添加一个:
([0-9]+[,\-N]+)+[0-9]+
或者,也许您想使用确切的序列-N-
作为分隔符之一,这样它就不会匹配例如4NNNNNNNN0
or 4-,-,-,-,-,0
:
([0-9]+([,\-]|-N-))+[0-9]+
连字符是保留符号。应该是:
([0-9]+[,\-N])+[0-9]+