正規表現
regex

正規表現を勉強しよう!! 文系学生がやってみた!!

はじめに

インターン先でプログラミングを勉強中の文系学生。

「正規表現ってわかる?」
「わからないです」
「じゃあ、勉強しようか。」
「ウィッス」

正規表現とは

まず正規表現って何ぞや。
色々なサイトを見ていると、文字列を効率良く操作するための言語なのかな?
使い方まではわからないけど、言語の壁を越えて検索ができるみたい。
まぁ、とりあえずは勉強していくか。

Regex

社員さんからおすすめのサイトとして、RegexOneを紹介してもらった。
それじゃあチュートリアルをやっていくか!!

/d

メタ文字。0~9の数字に対応している。

.(ドット)

メタ文字。あらゆる1文字に対応。ドットに対応させる場合は、\.とする。

[]

[]の中に書いた特定の文字を一致させる。
^でかっこの中にある文字以外の一文字に一致させる。
―(ダッシュ)を用いることで文字の範囲を示す。
[0―5]なら0から5までの一文字に一致。

\w

メタ文字。[A―Za―z0―9_]を意味する。

{}

一致させたい文字の繰り返しを意味する。a{3}なら3つのaと一致させる。

量子文字

a+は1つ以上のa。
[abc]+はa,b,cの1つ文字。
a*であらゆる文字の一致。
a?bcではabcacに一致。?を検索したいときは、\?

スペース

\tはタブ、\nで改行を意味する。
\sは特定の空白と一致する。

テキスト

^dogでdogから始まる行だけを照合できる。
dog$でdogで終わる行を照合できる。

ファイルの取得

完全なファイルの取得は^(IMG\d+\.png)
拡張子なしのファイル名の取得は^(IMG\d+)
ファイル名のみは\.png$

大文字

\Dは非数字文字。
\Sは非空白文字。
\Wは英数字以外の文字。

まとめ

今回は正規表現の勉強をしました!!
なるほど。正規表現は文字列の検索を行う際に使われるのか。
しっかりと覚えて、どんどん頑張っていこう!!

参考資料

初心者歓迎!手と目で覚える正規表現入門・その1「さまざまな形式の電話番号を検索しよう」-https://qiita.com/jnchito/items/893c887fbf19e17d3ff9
RegexOne-https://regexone.com/