我尝试编写正则表达式来匹配Java中的URL。我在互联网上找到了正则表达式,它在在线正则表达式编辑器中运行良好。 当我尝试在日食上运行它时,它会出现以下错误:无效的转义序列(有效的转义序列是\ b \ t \ n \ f \ r \“\'\)
(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?
我该如何解决这个问题?
提前致谢。
答案 0 :(得分:4)
请注意,在Java字符串中,您必须转义反斜杠(即\
将导致字符串文字"\\"
)。因此,表达式应如下所示:
String expression = "(http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?";