基礎的な正規表現一覧!任意の文字列を削除・検索・置換する方法を解説

よく使う正規表現を備忘録としてまとめました。

正規表現とは?

文字列の集合を特定の記法で表現するもの。

簡単に言うと、文字列をいい感じに削除したり検索したり置換したり、できる便利なやつ。

直前の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もデリミタもスラッシュ(/)で表現するため、とても読みづらくなってしまいます。

そういった場合は、エスケープまたは別の記号に変更することができます。

コメント