0

我在用:

"<a\b[^>]*href=\"\\lyrics\\*\">(.*?)</a>"; 

我正在尝试在这些参数下找到值:

     <a href="/lyrics/anything.html">This is what I need</a>

我需要找到“这就是我需要的”,但“任何东西”都会根据链接而变化。我不想在所有“a”标签中找到文本,但只有其中的那些在歌词文件夹中。我不明白为什么这目前不起作用?我很难解释,但提前谢谢。哦,我知道正则表达式可能不是最好的方法,但是,我真的很想研究一下。

4

3 回答 3

2

您正在逃避\\而不是使用/(它/lyrics/不是\lyrics\.

此外,当您应该匹配任何\\*不是.\"

以下将做:

"<a\b[^>]*href=\"/lyrics/[^\"]*\">(.*?)</a>"
于 2012-10-25T20:08:35.617 回答
0

您的斜线是错误的方式(即构成路径的斜线)并且您在 * 之前缺少一个点:

<a\b[^>]*href=\"/lyrics/.*\">(.*?)</a>
于 2012-10-25T20:10:43.093 回答
0

取决于您使用的 RegEx 引擎。给定一个 Perl 或 Java 引擎,这就是我看到的错误。

\b是不必要的

\\lyrics\\*应该是/lyrics/.*(如果是 Perl,那么你也需要转义/。)

于 2012-10-25T20:15:40.840 回答