よく使う正規表現を備忘録としてまとめました。
正規表現とは?
文字列の集合を特定の記法で表現するもの。
簡単に言うと、文字列をいい感じに削除したり検索したり置換したり、できる便利なやつ。
直前の1文字に対して意味を持つ
ドット(.)は「任意の1文字にマッチする」を意味します。
クエスチョン(?)は「0文字か1文字の」を意味します。
アスタリスク(*)は「前にある文字が0文字以上続く」を意味します。
プラス(+)は「前にある文字が1文字以上続く」を意味します。
文字列の最後にどんな文字でも、1文字以上続く文字列にマッチする正規表現
Windows XP、windows10、window11にマッチさせたい場合は、window.+と表現する。
ブラケット[]は中にある文字いずれかにマッチする
[windows]の場合、以下のような文字列にマッチします。
w、wind、windo
逆に以下のような文字列にはマッチしません。
windowss、winwin、window10
ブレース{}は前に、ある文字がn文字続く
ブレース{}はいわゆる中括弧。波型の括弧です。
数学で X={1,3,5} のように集合を表すときにしようするやつです。
正規表現でブレース{}は、「前にある文字がn文字続く」を意味します。
win{2}の場合は、winwinにマッチします。
ブレース{}は範囲指定も可能
ブレース{}は{n,m}と書くことで、「前にある文字がn文字以上、m文字以下続く」を意味します。
つまり、範囲指定することができます。
win{2,3}の場合、winwin、winwinwinにマッチします。
winwinwinw、winwinwinwinにはマッチしません。
キャレット(^)は行頭、ドル($)は行末
^I am a Perfect [a-z]+$の場合、「Iで始まり、行末がaからzまでの文字で終わる」を意味する。
マッチする:I am a Perfect human
マッチしない:We are Perfect human、I am a Perfect humanです、I am a Perfect human1、nakata is a perfect human
デリミタのスラッシュ(/)はエスケープor変更可能
当サイトhttps://prorautatie.net/にはスラッシュ(/)が含まれています。
URLもデリミタもスラッシュ(/)で表現するため、とても読みづらくなってしまいます。
そういった場合は、エスケープまたは別の記号に変更することができます。
コメント