1

次の正規表現:-

^((((\(\d{3}\))|(\d{3}-))\d{3}-\d{4})|(\+?\d{2}((-| )\d{1,8}){1,5}))(( x| ext)\d{1,5}){0,1}$

実装しようとするとショー

Invalid escape sequence (valid ones are  \b  \t  \n  \f  \r  \"  \'  \\ )

誰かが私が問題を解決するのを手伝ってもらえますか?

4

2 に答える 2

3

この巨大な正規表現を解析しようとはしませんが、エラーは文字列のエスケープに問題があることを示しています。すべての円記号を2倍にする必要があります。

于 2013-01-31T06:23:23.140 に答える
1

次のことを試してください。

^((((\\(\\d{3}\\))|(\\d{3}-))\\d{3}-\\d{4})|(\\+?\\d{2}((-| )\\d{1,8}){1,5}))(( x| ext)\\d{1,5}){0,1}$

Java 文字列では、\バックスラッシュ文字が「特殊」文字のエスケープ シーケンスを開始します。\n改行のように。

手でやりたくない場合は、このようなツールを使用して文字列をエスケープできます。

于 2013-01-31T07:37:11.637 に答える