はじめに
正規表現とは、文字列の集合を1つの文字列で表現するための方法です。簡単に説明すると、英数字や記号を組み合わせて任意の文字列を表現しましょう、ということです。表現という言い方がピンとこなければ「検索」と読み替えてもらっても良いです。あくまでもイメージとして捉えて下さい。
たとえば、「abcde」という文字列があったとします。bcdを表現したい場合、「b.d」や「b.*d」と記載することができます。
正規表現を使いこなせれば文字列の検索や置換などで非常に役立ちます。ただ正規表現は奥が深く簡単にマスターできるものではありません。使いこなすにはかなり勉強しなければならないので、まずは基本だけでも使えるようにしましょう。
正規表現の基本
| 記号 | 意味 |
| . | 任意の一文字 |
| * | 直前の文字の0回以上の繰り返し |
| ? | 直前の文字は省略可能 |
| \n | 改行 |
| \t | タブ |
サンプル
| 条件 | 記述方法 | 結果 |
| 行頭がPATTERNで始まる文字列 | ^PATTERN | aaaaa bbbbb PATTERN ccccc PATTERN ddddd PATTERN eeeee |
| 行末がPATTERNで終わる文字列 | .*PATTERN$ | aaaaa bbbbb PATTERN ccccc PATTERN ddddd PATTERN eeeee |
| PATTERNを含む文字列 | .PATTERN.$ | aaaaa bbbbb PATTERN ccccc PATTERN ddddd PATTERN eeeee |
| 行頭がPATTERNで始まらない文字列 | ^(?!PATTERN).*$ | aaaaa bbbbb PATTERN ccccc PATTERN ddddd PATTERN eeeee |
| 行末がPATTERNで終わらない文字列 | ^.*(?<!PATTERN)$ | aaaaa bbbbb PATTERN ccccc PATTERN ddddd PATTERN eeeee |
| PATTERNを含まない文字列 | ^(?!.*PATTERN).*$ | aaaaa bbbbb PATTERN ccccc PATTERN ddddd PATTERN eeeee |
どういう時に利用するのか?
プログラマーであれば開発の中で利用することが多いと思います。それ以外だとテキストエディタですね。テキストデータの加工によく正規表現を使います。
例えば、あるテキストデータから不要な文字列を削除する、もしくは追加するなどです。テキストデータの加工ではいかに早く確実に任意の形に整形できるかSEとしての腕の見せ所です。




コメント