※ ChatGPTを利用し、要約された質問です(原文:正規表現で一部の語尾を否定した条件を作りたい)
正規表現で語尾の否定条件を作る方法
このQ&Aのポイント
正規表現を使用して、特定の語尾を否定する条件を作りたい場合、どのように書けばよいでしょうか。
具体的には、特定の文字列の後ろに特定の文字列が続く場合には条件を満たさないようにしたいと思っています。
例えば、「アイウ」という文字列の後ろに「エ」や「イア」が続く場合には条件を満たさないようにしたいとき、正規表現をどのように記述すれば良いのでしょうか。
いつも大変お世話になっております。
PHP環境にて、以下のようなことで困っております。
元の文章($bunshou)の中に半角全角に関わらずカタカナの「アイウ」という文字列があり、
それを「あいう」に変換したい場合、
eregi_replace ("(ア|ア)+(イ|イ)+(ウ|ウ)","あいう", $bunshou);
とすると、変更できたのですが、
もし、「アイウエ」、「アイウイア」と、『後ろに"エ"や"イア"が入っているときだけこの変換を行いたくない』時はどのように書けばよいのでしょうか。
つまり、以下のような条件です。
1.アイウ→「あいう」に変換したい
2.アイウお→「あいうお」と表示したい
3.アイウエ→変換したくない
4.アイウイア→変換したくない
上記の1~3までを、または1~4全てを一度に実効したい場合、どのように正規表現で書けばよいか教えて頂けますと大変たすかります。
よろしくおねがいします。
お礼
ありがとうございます。 教えていただいた内容で試したところ、望みどおりの結果を出すことができました。 本当にありがとうございました!