Java正则表达式转义序列
我试图匹配中的Java正则表达式转义序列,java,regex,pattern-matching,Java,Regex,Pattern Matching,我试图匹配中的示例, 有了rubular.com,我可以得到类似于*的东西 我将在模式中使用它。在Java中编译。我知道\也必须转义,我提出了*和其他一些变体,但我弄错了。我在regexplanet上测试过。有人能帮我吗?在Java代码中使用“” 您只需要转义“,因为它是一个Java字符串文本 您不需要转义/,因为您没有用斜杠来分隔正则表达式(就像在Ruby中一样) 另外,(.*)没有任何意义。只需使用(.*)*就可以匹配“nothing”,因此在Java代码中使用?没有任何意义 Patter
示例
,
有了rubular.com,我可以得到类似于*
的东西
我将在模式中使用它。在Java
中编译。我知道\
也必须转义,我提出了*
和其他一些变体,但我弄错了。我在regexplanet上测试过。有人能帮我吗?在Java代码中使用“
”
您只需要转义“
,因为它是一个Java字符串文本
您不需要转义/
,因为您没有用斜杠来分隔正则表达式(就像在Ruby中一样)
另外,(.*)
没有任何意义。只需使用(.*)
*
就可以匹配“nothing”,因此在Java代码中使用?
没有任何意义
Pattern.compile("<a href=\"(.*)?/index.html\">.*</a>");
您只需要转义“
,因为它是一个Java字符串文本
您不需要转义/
,因为您没有用斜杠来分隔正则表达式(就像在Ruby中一样)
而且,(.*)
没有任何意义。只需使用(.*)
*
已经可以匹配“nothing”,所以使用?
模式没有任何意义;
Pattern.compile("<a href=\"(.*)?/index.html\">.*</a>");
这应该可以修复你的正则表达式。您不需要避开前斜杠
但是,我有义务向您介绍使用正则表达式解析HTML的标准注意事项:
模式。编译(“”);
这应该可以修复你的正则表达式。您不需要避开前斜杠
但是,我有义务向您介绍使用正则表达式解析HTML的标准注意事项:
您可以告诉Java要匹配什么,并调用Pattern.quote(str)使它为您逃避正确的事情 您可以告诉Java要匹配什么,并调用Pattern.quote(str)使其为您转义正确的内容 这里不需要逃跑。只需使用=\“..
反斜杠只需要在实际需要反斜杠时转义。在正则表达式中,您必须执行两次。如果这是一个转义问题,请尝试将您的字符串打印到命令行,以了解它认为它是什么,并相应地进行更正。所有的反斜杠都会让人恼火。因为这是HTML,你应该考虑使用HTML解析器…例如,像jsoup.before/replace..\/..
不需要使用../../../code>来替换../../code>,这里不需要转义。只需使用=\“..
反斜杠只需要在实际需要反斜杠时转义。在正则表达式中,您必须执行两次。如果这是一个转义问题,请尝试将您的字符串打印到命令行,以了解它认为它是什么,并相应地进行更正。所有的反斜杠都会让人恼火。因为这是HTML,你应该考虑使用HTML解析器…例如,像jsoup.You不需要\before/replace..\/..
为../../../code>