トップページに戻る    次の正規表現パズルへ    前の正規表現パズルへ

5-21 場合分けにこだわった正規表現

正規表現パズル

/A
から
A/
までを検索する。

検索前


検索後


対象データ

/A 123456 A/
123456 /AA/  789
123 /A 45 A/ 67 /A 89 A/
/AAAAAA/A 123
/A 123 A/ 456789


正規表現

/A([^A]|A+[^/A])*A+/

別解1

/A((?!A/).)*A/

別解2

/A.*?A/


解説

選択で、場合分けを使っています。
場合1 A以外の文字の場合
場合2 Aにマッチした場合

Aにマッチした場合は、
A+で、Aになるべくマッチさせるが、
次の否定文字クラスで、A/のための/は残しておく、またAはマッチさせない
となってますね。

しかし、別解1と別解2のほうが理解しやすそうですね。

4-26 HTMLのタグ内部を検索