質問: 正規表現に関する質問です。 ■概要 「そうですねabcの次はdefですね笑」 上記文章のdefにマッチさせる正規表現文字列をご教授下さい。 ■ロジック `***笑` の `***` の中に存在する「最後の」半角英数文字を取り出したい。 ■現在の正規表現文字列 `([0-9a-zA-Z!-~]+)(.*)(笑)` ■現在の正規表現文字列に対するマッチ結果 マッチ文字列 : abcの次はdefですね笑 マッチ文字列グループ1 : abc マッチ文字列グループ2 : の次はdefですね マッチ文字列グループ3 : 笑 ■質問内容 上記グループのいずれかにdefが該当するような 正規表現文字列を教えて下さい。 ポイントは「最後の」です。
回答: > > ([0-9a-zA-Z!-~]+)(.*)(笑) > > > 上記の`(.*)`を`[0-9a-zA-Z!-~]`の否定である`([^0-9a-zA-Z!-~]*)`に変えれば良いのでは。