ブログ

正規表現の使い方2(連続文字とのマッチ)

at_takumi.mizutani
2022年8月2日 11時40分

直前の文字を0回以上繰り返す文字列とのマッチ

*を使用すると、*の前の文字を0回以上繰り返す文字列とマッチします。

以下の例では、*の前の"ー"を0回以上繰り返す文字列とマッチすることになるので、デグ、デグー、デグーー、等とマッチします。

正規表現
デグー*
マッチする文字列
デグ
デグー
デグーー

直前の文字を1回以上繰り返す文字列とのマッチ

+を使用すると、+の前の文字を0回以上繰り返す文字列とマッチします。

以下の例では、+の前の"ー"を1回以上繰り返す文字列とマッチすることになるので、デグー、デグーー、等とマッチします。

正規表現
デグー+
マッチする文字列
デグー
デグーー

直前の文字を指定回数繰り返す文字列とのマッチ

{n} (nは0以上の整数)を使用すると、{n}の前の文字をn回繰り返す文字列とマッチします。

以下の例では、{3}の前の"ー"を3回繰り返す文字列とマッチすることになるので、デグーーーとマッチします。

正規表現
デグー{3}
マッチする文字列
デグーーー

直前の文字を指定範囲の回数繰り返す文字列とのマッチ

{n,m} (n, mは0以上の整数、n < m)を使用すると、{n,m}の前の文字をn〜m回繰り返す文字列とマッチします。

以下の例では、{1,3}の前の"ー"を1〜3回繰り返す文字列とマッチすることになるので、デグー、デグーー、デグーーーとマッチします。

正規表現
デグー{1,3}
マッチする文字列
デグー
デグーー
デグーーー

また、mを省略することで{n,}の前の文字をn回以上繰り返す文字列とマッチし、

nを省略することで{,m}の前の文字をm回以下繰り返す文字列とマッチします。

以下の例では、{,2}の前の"ー"を2回以下繰り返す文字列とマッチすることになるので、デグ、デグー、デグーーとマッチします。

正規表現
デグー{,2}
マッチする文字列
デグ
デグー
デグーー