1

JavaでURLに一致する正規表現を書こうとしています。インターネットで正規表現を見つけましたが、オンラインの正規表現エディターで正常に機能します。日食で実行しようとすると、次のエラーが発生します:無効なエスケープシーケンス(有効なものは\ b \ t \ n \ f \ r \ "\'\)

(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?

どうすればこの問題を解決できますか?

前もって感謝します。

4

1 に答える 1

4

Java文字列では、バックスラッシュをエスケープする必要があることに注意してください(つまり\、文字列リテラルになります"\\")。したがって、式は次のようになります。

String expression = "(http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?";
于 2012-04-25T13:08:18.240 に答える