我正在尝试匹配模式中的字符串,
数字
,或 - 或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
任何帮助?
答案 0 :(得分:2)
您需要在集合中转义短划线,否则它将匹配从逗号到N的所有字符。
([0-9]+[,\-N])+[0-9]+
它与4-N-0
不匹配,因为它不属于您所描述的应匹配的内容。如果您希望它匹配多个分隔符,请在该集合之后添加+
:
([0-9]+[,\-N]+)+[0-9]+
或者您可能希望使用确切的序列-N-
作为其中一个分隔符,因此它不匹配,例如4NNNNNNNN0
或4-,-,-,-,-,0
:
([0-9]+([,\-]|-N-))+[0-9]+
答案 1 :(得分:1)
连字符是保留符号。它应该是:
([0-9]+[,\-N])+[0-9]+