0

使ってます:

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

そして、私はこれらのパラメータの下で値を見つけようとしています:

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

「これが必要」を見つける必要がありますが、リンクによって「何でも」が変わります。すべての「a」タグ内のテキストを見つけたくありませんが、歌詞フォルダー内にあるのはそのうちの1つだけです。これが現在機能していない理由がわかりませんか?説明が苦手ですが、よろしくお願いします。ああ、私は正規表現がおそらく最良の方法ではないことを理解していますが、私は本当にそれを調べたいと思います。

4

3 に答える 3

2

\\使用する代わりにエスケープしています/(そうではあり/lyrics/ません) \lyrics\

さらに、ではない文字に一致する必要がある場合は、\\*0個以上の文字に一致します。\"

次のようになります。

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

あなたのスラッシュは間違った方法(つまり、パスを構成するもの)であり、*の前にドットがありません:

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

使用している正規表現エンジンによって異なります。PerlまたはJavaエンジンを考えると、これが私が間違っていると思うものです。

\b不要です

\\lyrics\\*/lyrics/.*(Perlの場合は/、同様にエスケープする必要があります)。

于 2012-10-25T20:15:40.840 に答える