正規表現で「~で始まる」を行う方法

正規表現

エンジニアをやっていると、下記のようなことはございませんか?

  • 大容量のログファイルから、’2019-08-25’など特定の日付の行のみ取り出したい
  • CSVファイル内で、行の先頭が○○の行のみ取り出したい
  • ソースコード内で、行頭が’//’(コメント)の行のみ取り出したい

そんなときは下記の正規表現を用いて検索を行いましょう。
「あ」から始まる行を検索できます。

実際にやってみた

サクラエディタに以下の文字を打ち込みます。(正規表現検索ができるテキストエディタであればどれでも大丈夫です)

あいさつ
アイサツ
あくび
いきさつ
イキモノ
Amazon

Ctrlキーと「f」を同時に押下し検索画面を表示します。

条件に「^あ.*$」と打ち込み、「上検索」ボタンを押下します。

「あいさつ」と「あくび」の行に変化がありました。
「あ」からはじまる行のみが検索にひっかかったということです。

解説

検索に打ち込んだ「^あ.*$」について解説します。

まず「^」ですが、これは行頭を表します。
「^あ」とすることで、「あ」から始まるという検索条件になります。

「.」は「なんでもいいから1文字」ということを表します。

「*」は「直前の文字の0回以上の繰り返し」を表します。

つまり「.*」とすることで「なんでもいいから0文字以上」という意味になります。
「あ」の後ろにはどの種類の文字が、何文字でも入ってよいということです。

「(あ)いさつ」 でも「(あ)くび」でもなんでもいいです。
「0文字以上」なのでなので、「あ」だけでもいいです。

最後に「$」ですが、これは行末を表します。

つまり、「^あ.*$」を厳密に表現するなら、
『「あ」から始まり、なんでもいいから0文字以上が行末まで続く行』
という表現になります。

まとめ

正規表現は、「文章の中から規則性を導き出し、メタ文字を用いて表したもの」です。

今回は『「あ」から始まる文』という規則性を、「^」「.」「*」「$」というメタ文字を用いて「^あ.*$」と表しました。

正規表現は奥が深く、メタ文字はこれら以外に何種類もあるので、今後の記事でご紹介します。

正規表現についての別記事についてもご覧ください!

★検索
パスワードの正規表現の考え方
「~を含まない行」を検索する方法
「~を含む行」を検索する方法
「~で終わる」を検索する方法
「~で始まる」を検索する方法
正規表現繰り返しの考え方

最短一致検索を行う方法
否定の文字クラス
「または」検索を行う方法


★置換
正規表現置換の考え方
大文字⇔小文字変換を行う方法
キャメルケース⇔スネークケース変換を行う方法
CSVを囲みなし⇒囲みありに変換する方法

数字3ケタおきにカンマを挿入する方法
正規表現置換で不要な行を削除し、必要な行だけ残す方法
Javaで正規表現置換を行う方法

また、Udemyという動画教育プラットフォームで動画解説を行っております。
動きを確認しながら丁寧に学習したいという方は、ぜひご覧ください!

正規表現入門 作業効率アップに役立つ38個の方法

コメント

タイトルとURLをコピーしました