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

何か助けはありますか?

4

2 に答える 2

2

セット内のダッシュをエスケープする必要があります。エスケープしないと、コンマから N までのすべての文字に一致します。

([0-9]+[,\-N])+[0-9]+

4-N-0一致する必要があると説明したものに該当しないため、一致しません。複数のセパレーターに一致させたい場合は+、そのセットの後に a を追加します。

([0-9]+[,\-N]+)+[0-9]+

または、区切り文字の 1 つとして正確なシーケンスを使用して-N-、たとえば一致しないようにしたい場合4NNNNNNNN0や、次のようにし4-,-,-,-,-,0ます。

([0-9]+([,\-]|-N-))+[0-9]+
于 2012-08-31T21:56:01.783 に答える
1

ハイフンは予約済みの記号です。それは次のとおりです。 ([0-9]+[,\-N])+[0-9]+

于 2012-08-31T21:56:39.857 に答える