Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java正则表达式转义序列_Java_Regex_Pattern Matching - Fatal编程技术网

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>