0

私はこのJavascript電話の正規表現を手に入れました: /^([\+][0-9]{1,3}[ \.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$/

文字列"063-444-444"は正常に通過します。

私はそれをJavaに変換しようとしました:

^([\\+][0-9]{1,3}[ \\.\\-])?([\\(]{1}[0-9]{2,6}[\\)])?(\\[0-9 \\.\\-\\]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$ 

同じ文字列がJavaで失敗します。どうしたの?

4

1 に答える 1

4

あなたはそれを正しく逃げていません。文字クラスを囲む角かっこ([および)をエスケープする必要はありません。]

試す:

^([\\+][0-9]{1,3}[ \\.\\-])?([\\(]{1}[0-9]{2,6}[\\)])?([0-9 \\.\\-\\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$
于 2012-04-26T09:33:30.123 に答える