- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:正規表現 言葉を抜き出す)
正規表現で言葉を抜き出す方法
このQ&Aのポイント
- 正規表現を使用して任意の文字列を抜き出したい場合、特定のパターンを指定する必要があります。
- 一部の文字列はマッチしない可能性があり、その原因は日本語の扱いにあります。
- 日本語を正しくマッチさせるためには、正規表現の表現方法を見直す必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
"<SPAN CLASS=\"Test\">([^<].*?)</SPAN>" これではどうですか? *や-の後に?をつけると最小マッチのはず。。 またまた間違ってたらゴメ。
その他の回答 (1)
- dd44
- ベストアンサー率28% (151/521)
回答No.1
"<SPAN CLASS=\"Test\">([^<].*)</SPAN>" これでいいかな。 "<SPAN CLASS=\"Test\">([^<]+)</SPAN>" これでは <SPAN CLASS="Test">aaa</SPAN> とか、"<"以外の任意の文字列の連続しかヒットしないような気が。間違ってたらゴメン。
質問者
お礼
ありがとうございます。そちらだと</SPAN>が一杯 ある場合に、一番最後の</SPAN>までのところに ヒットしてしまうようで駄目でした。難しいですねぇ。。 あと上の奴でも半角の任意の文字にはヒットするようです。 詳しい条件は分からないのですが、ヒットしたデータを見ると 半角ばかりなので・・
お礼
ばっちりです。最小マッチありがとうございます 最小マッチだと[^<]がいらないぽいので単に(.*?)したら 期待する動作で(たぶん)動いてくれました。 解決です!!ありがとうございました。 "<SPAN CLASS=\"Test\">(.*?)</SPAN>"