私は小さな問題を抱えています、私は見つけたいです
<tr><td>3</td><td>foo</td><td>2</td>
foo、私は使用します:
$<tr><td>\d</td><td>(.*)</td>$
foo を検索しますが、foo</td>
の末尾ではなく</td>
文字列の末尾の
私は小さな問題を抱えています、私は見つけたいです
<tr><td>3</td><td>foo</td><td>2</td>
foo、私は使用します:
$<tr><td>\d</td><td>(.*)</td>$
foo を検索しますが、foo</td>
の末尾ではなく</td>
文字列の末尾の
.*
貪欲ではなく、怠け者にならなければなりません。怠惰と貪欲の詳細については、こちらをご覧ください。
文字列アンカーの終わり ( $
) も意味がありません。試す:
<tr><td>\d<\/td><td>(.*?)<\/td>
(ルビュラーに見られるように。)
注: HTML の解析に正規表現を使用することはお勧めしません。しかし、目の前のタスクが正規表現で処理できるほど単純な場合もあり、本格的な XML パーサーではやり過ぎです (例: この質問)。「仕事に適したツール」を選択することを知ることは、プログラミングの重要なスキルです。
使用する:
^<tr><td>\d</td><td>(.*?)</td>
(xml の解析に正規表現を使用しないことに関する必須のコメントを挿入します)
あなたのリーディング$
は^
.
文字列の最後まで一致させたくない場合は、最後に a$
を使用しないでください。ただ、*
食いしん坊なので思う存分掴みます。一部の正規表現の実装には、機能する貪欲でないバージョンがありますが、(.*)
おそらく([^<]*)
.