- ベストアンサー
以下の場合の正規表現の書き方を教えて下さい。
以下の場合の正規表現の書き方を教えて下さい。 「XXXにはマッチするがXXXYYYにはマッチしない」を一つの正規表現文字列で実現するには、どう記述すればよいですか? 例えば、「マイナス」にはマッチするが、「マイナスイオン」はマッチさせたくない場合です。 この例の「イオン」の部分は今のところ一種類で良いのですが、もし可能でしたら複数種のワードに対応できると嬉しいです。(マイナスイオンに加えて、「マイナスドライバー」もマッチしないなど) なんか間抜けな質問ですがよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
マイナス(?!イオン) じゃダメなんだっけ?
その他の回答 (2)
- YkazubonY
- ベストアンサー率30% (26/86)
if ( $str =~ /~マイナス$/ ) { マイナスだけに、一致した場合の記述 } elsif ( $str =~ /~マイナス.*/ ) { マイナスドライバー等の場合の記述 }
- ORUKA1951
- ベストアンサー率45% (5062/11036)
マイナスの前後に何がついているとだめなのか? マイナスの電荷を持つ これは良いの?マイナスに「の・・」がつながっている。 >もし可能でしたら複数種のワードに対応できると嬉しいです。(マイナスイオンに加えて、「マイナスドライバー」もマッチしないなど) 何が次に続けば駄目なのかなら、全部の言葉を書かなければ駄目だよ。
補足
質問が下手ですいません 「マイナス」でマッチした中から、「マイナスイオン」でもマッチしたものを除外するという意味です。 例えば 「僕が考えるにマイナスイオンはマイナスイオンだ」 この場合、「マイナス」でマッチしない 「僕が考えるにマイナスイオンはマイナスのイオンだ」 この場合は1回マッチする 複数のワードに対応とは、 「マイナスイオンとマイナスドライバーは相性が良い」 この例で「マイナスイオン」と「マイナスドライバー」を除外する(つまりマッチしない)としたいケースです。 結果として一つでもマッチしたかどうか分かれば十分です。
お礼
ありがとうございます。 その線で行けそうです。