空白類にマッチするなどの特殊文字、前方(不)一致・後方(不)一致、繰り返し回数指定機能を追加しました。
■ 特殊文字
以下の正規表現特殊文字を新たにサポートしました。
\s | 空白類(半角空白、タブ)とマッチします |
\S | 改行を除く、空白類(半角空白、タブ)以外とマッチします |
\d | 任意の数字(0-9)とマッチします |
\D | 改行を除く、任意の数字(0-9)以外とマッチします |
\w | 任意の英数字またはアンダーライン(a-zA-Z0-9_)とマッチします |
\W | 改行を除く、任意の英数字またはアンダーライン(a-zA-Z0-9_)以外とマッチします |
■ 前方(不)一致・後方(不)一致
正規表現の接頭辞・接尾辞として、前方一致・前方不一致・後方一致・後方不一致 をサポートしました。
(?<= exp ) | 前方一致 |
(?<! exp ) | 前方不一致 |
(?= exp ) | 後方一致 |
(?! exp ) | 後方不一致 |
正規表現の前に 前方一致指定 がある場合、前方一致指定正規表現に一致しないと本体の正規表現がマッチしたものとはみなされません。
たとえば 正規表現 (?<=aaa)bbb は「xxxaaabbbxxx」の「bbb」部分にマッチしますが、「xxxbbbxxx」の「bbb」部分にはマッチしません。
■ 繰り返し回数指定
{n} は直前にある文字または正規表現のn回の繰り返しとマッチします
たとえば、ab{2}c は、abbc にマッチしますが、ac、abc、abbbc、abbbbc にはマッチしません。
{min, max} は、直前にある文字または正規表現のmin回以上かつmax回以下の繰り返しとマッチします
たとえば、ab{2,3}c は、abbc、abbbc にマッチしますが、ac、abc、abbbbc にはマッチしません。
min を省略した場合 min = 0、max を省略した場合は max = ∞ と解釈されます。
たとえば、ab{,2}c は、ac、abc、abbc にマッチしますが、abbbc、abbbbc にはマッチしません。