正規表現 Part6
■ このスレッドは過去ログ倉庫に格納されています
0745デフォルトの名無しさん
2010/01/28(木) 00:22:28PHP
●検索か置換か?
検索
●説明
大量の文字データの中から「マンコ」という文字列をMATCHさせたい。
ただし、「イマンコ」「マンコア」「ウルトラマンコスモス」「アパマンコーポ」を含む文字列はMATCHさせない。
●テストケース(文字列)と期待する結果(MATCHするかしないか)
マンコ MATCHする
オマンコ MATCHする
マンコー MATCHする
ウルトラマンコ MATCHする
マンコスモス MATCHする
アパマンコ MATCHする
マンコーポ MATCHする
イマンコ MATCHしない
マンコア MATCHしない
イマンコア MATCHしない
ウルトラマンコスモス MATCHしない
アパマンコーポ MATCHしない
●試した正規表現
(?<!イ)((?<!ウルトラ)((?<!アパ)マンコ|マンコ(?!ーポ))|((?<!アパ)マンコ|マンコ(?!ーポ))(?!スモス))(?!ア)
●質問内容
上記の正規表現で、期待する結果は得られたのですが、どうも長ったらしく、スッキリしません。
もし、「ウルトラマンコスモス」や「アパマンコーポ」のように、真ん中に対象文字列ありで除外したい文字列がどんどん増えていったとしたら非常に面倒な気がします。
もっとコンパクトに短く効率的に書けたりするなど、いい案はございますでしょうか?アドバイスをいただけると幸いでございます。
■ このスレッドは過去ログ倉庫に格納されています