前回までのおさらい
「.」任意の1文字 にマッチします。
「. .」任意の2文字 にマッチします。
「. . .」任意の3文字 にマッチします。
「. . . .」任意の4文字 にマッチします。
・・・
・・・
繰り返し
直前の文字が?回以上 繰り返す場合にマッチします、という時に「繰り返し」を使います。
*(アスタリスク)
直前の文字が 0回以上 繰り返す場合にマッチします。条件の最長部分に一致します。
例:abc*d
○ abcdefg
○ abcddd
○ abddd
✕ abceee
+(プラス)
直前の文字が 1回以上 繰り返す場合にマッチします。※0回は含まれません。条件の最長部分に一致します。
例:abc+d
○ abcdefg
○ abcdddd
✕ abddd
✕ abceee
?(クエスチョン)
直前の文字が 0回か1回 繰り返す場合にマッチします。条件の最長部分に一致します。
例:abc?d
○ abdefg
○ abcdddd
○ abddd
✕ abccdeee
+? (プラス・クエスチョン)
直前の文字が 1回以上 繰り返す場合にマッチします。条件の最短部分に一致します。
最短一致(最短マッチ)とは?
条件で文字列を検索した場合に、最も短い文字が選択されます。結果で「AB」「ABC」「ABCD」「ABCDE」が抽出された場合は「AB」のみとなります。
例:abc+?d
○ abdefg
○ abcdddd
○ abddd
✕ abccdeee
*?(アスタリスク・クエスチョン)
直前の文字が 0回か1回 繰り返す場合にマッチします。条件の最短部分に一致します。
例:abc*?d
○ abdefg
○ abcdddd
○ abddd
✕ abccdeee
? ?(クエスチョン・クエスチョン)
直前の文字が 0回か1回 繰り返す場合にマッチします。条件の最短部分に一致します。
例:abc??d
○ abdefg
○ abcdddd
○ abddd
✕ abccdeee
(n)(エヌ)
ある文字が n回以上 繰り返す場合にマッチします。
例:abc(2)d
✕ abcdefg
○ abccdddd
✕ abddd
○ abccdeee
(n,m)(エヌ・エム)
ある文字が n回以上 m回以下 繰り返す場合にマッチします。
例:abc(1,2)d
○ abcdefg
○ abccdddd
✕ abddd
✕ abccdeee
まとめ
正規表現の繰り返しをまとめました!
ご参考下さい^o^)/