正規表現についてのメモ
開発環境は、Windows 10 Pro(64bit)。
■直前の表現が0文字か1文字
?
[具体例]
a?sagao
「asagao」もしくは「sagao」にマッチする
■直前の表現が0文字以上
*
[具体例]
a*sagao
「asagao」もしくは「sagao」もしくは「a....asagao」(....はaの繰り返し)にマッチする
■直前の表現が1文字以上
+
[具体例]
a+sagao
「asagao」もしくは「a....asagao」(....はaの繰り返し)にマッチする
■任意の1文字
.
[具体例]
.sagao
「asagao」や「isagao」や「usagao」などがマッチする
■カッコ内にあるどれか1文字
[]
[具体例]
[abc]defg
「adefg」「bdefg」「cdefg」のどれかにマッチする。他にも、
[a-zA-Z0-9]
のように、アルファベットや数字をまとめて書くことが可能。上記の場合は、小文字のa~z、大文字のA~Z、数字の0~9のどれかにマッチする。ハイフンは、カッコ内の最初か最後に指定することで、リテラルとしてマッチさせることができる。
ハイフン以外の、+や*や.や?など、正規表現として使うものも、並べる順番を考えないといけないがそのまま組み込むことができる。
■カッコ内にあるどれか1文字以外
[^]
[具体例]
[^abc]defg
「adefg」「bdefg」「cdefg」以外にマッチ。
■文章の始めか最後であること
^ - 一番最初に設置することで、続く表現が一番最初に来るとマッチ $ - 一番最後に設置することで、直前の表現が最後に来るとマッチ
[具体例]
^abc abc$ ^abc$
上から、abcで始まるとマッチ、abcで終わるとマッチ、abcの3文字ちょうどだとマッチ。