内部の条件をグループ化。“”[0-9]{3,}円””;正規化の条件をここで定義します。先ほどのルールに照らし合わせると、[0-9]は0~9の文字、{3,}は直前の文字の繰り返しを3文字以上を意味します。0~9の文字が連続して3文字以上あるかを確認します。価格は必ず3桁以上あること、数字文字列であること、数字の後には必ず””円”がつく、という条件の元作成したパターンです。matcher;Patternは正規化のパターン、正規化のルールをJavaで扱えるようにするクラス、Matcherは正規化行うターゲットとなる文字列を扱うクラスです。pattern.matcher(menu);各クラス変数のインスタンスを作成します。regexには正規化のパターン文字列、menuにはターゲット文字列を格納しておきます。」matcher.find()ターゲット文字列が正規化のパターンに一致するか確認します。戻り値はboolean型で、一致した場合はtrueが返ります。先ほどのリストをを配列に格納し、価格部分を取り出します。(matcher.find())menu配列から取り出した値がパターンに一致した場合以下のループを実行しますmatcher.group()findメソッドでターゲット文字列からパターンに一致する部分を抽出します。置き換えプログラムのサンプルでは、すべての製品が1000円均一になった場合を考えましょう。パターンに一致する文字列の一部分を、文字列”1000円”に置換します。置換にはMatcherクラスメソッドを使います。replaceFirst(置換後文字列)...最初にパターンに一致した文字列を置換しますreplaceALL(置換後文字列)...パターンに一致した文字列をすべて置換します。先ほどのwhile分の中を編集します。記号自身が含まれる文字列を条件にしたい場合、記号をそのまま書いてもパターンと認識されエラーになってしまいます。|これらの文字をパターンにしたい場合は以下のようにエスケープ処理をします。¥)このように記号の先頭に「¥」を付け加えることで記号を文字として認識します。「¥」自体をパターンに含めたい場合は¥¥とします。次の以下のようなエスケープシーケンスもあります。正規表現のパターンを正しく定義しないと、同じ処理を繰り返す、無限ループに陥るなどプログラムの動作が遅くなってしまいます。パターン内で条件が矛盾していないか、似た条件を繰り返していないか確認しましょう。まとめいかがでしたか?正規表現を習得すれば、文字列操作の他にデータベースなど様々なデータの扱いで活躍できるようになります。習得して活用してください。