当前位置: 首页 > 知识库问答 >
问题:

Java中regex匹配URL的转义序列无效

谭越
2023-03-14

我尝试用Java编写regex来匹配URL。我在互联网上找到了regex,它在在线regex编辑器中工作得很好。当我试图在eclipse上运行它时,它会给出以下错误:无效的转义序列(有效的转义序列是\B\T\N\F\R\\“\'\\)

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

我怎样才能解决这个问题?

共有1个答案

党佐
2023-03-14

注意,在Java字符串中,必须转义反斜杠(即\将导致字符串文本“\\”)。因此表达式应该如下所示:

String expression = "(http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?";
 类似资料:
  • 我希望通过将嵌套的JSON字符串递归地拆分{}来解析它们。我得到的regex是“{([^}]*.?)}”,我已经测试过它可以恰当地获取我想要的字符串。但是,当我试图将它包含在Java中时,我得到了以下错误:“无效的转义序列(有效的转义序列是 这是我的代码,也是错误发生的地方: 我做错了什么?

  • 我编写了一个regex来匹配下面的字符串类型,当我在regex matcher中联机检查它时,它正像预期的那样工作- 当我在lua块中使用这个来匹配字符串时,它会给我带来无效的转义序列错误。我转义了双引号,并试图用\转义regex中的特殊字符,但问题仍然存在。任何指针都有帮助。谢了!

  • 问题内容: 我想用“ +”替换字符串中的所有空白字符,并用“ ss”替换所有“ß” …它对于“ß”效果很好,但是以某种方式,eclipse不允许我将\ s用作空白。 。我改用“ \ t”,但也不起作用。.我收到以下错误: 无效的转义序列(有效的是\ b \ t \ n \ f \ r \“ '\) 这是我的代码: 为什么不起作用?android,eclipse或其他问题吗? 提前致谢! 问题答案:

  • 问题内容: 我想过滤掉所有单词,这些单词包含1个数字和3个大写字母,总长度为4。在这里查看我的示例: http //gskinner.com/RegExr/?32taa ArrayList result = new ArrayList (); for(int i = 0; i <= 10; i++){ } 但是,当我将我的regexp模式传递给matcher方法时,出现错误: 我需要换一封信吗?

  • 或者更好的方法是遍历它,为参数的每个索引获取TRUE或FALSE标志 我只知道如何使用matcher.find()进行循环,如果有任何帮助,我将不胜感激