正規表現とは、ある文章や文字列の中に、指定したルールを満たす文字や単語があるかどうかを調べる方法のことです。
正規表現用の特殊な文字(メタ文字といいます)を組み合わせてルール(パターンといいます)を作成し、作成したパターンが指定した文章や文字列の中に存在するかどうかで調べます。
次のような用途で使います。
- 英数字10桁のパスワードが入力されているか。
- 電話番号の正しい位置にハイフンが入力されているか。
- 全角文字が紛れ込んでいないか。
ブロックの使用例
次図は、メールに添付されたファイルの名前が、正規表現で作成したファイルの名前ルール(パターン)に従っている場合は、所定のフォルダーにファイルを格納するという手順書です。
作成する名前ルール(パターン)は、ファイル名が「西暦4桁月2桁日2桁請求.xlsx」の構成かどうかを見るもので、たとえば「20220330請求.xlsx」は正しい名前とみなします。

ブロックの設定項目
[正規表現]ブロック(および使用例で示したブロック)は、次図のように設定します。

![]() |
西暦4桁のパターン 0~9の数字が4つ連続で並んでいるか(図の黄丸1)。 月2桁のパターン 1桁目が0の場合は2桁目が1~9か(図の赤丸2)、または、 1桁目が1の場合は2桁目が0~2か(図の赤丸3)。 日2桁のパターン 1桁目が0の場合は2桁目が1~9か(図の緑丸4)、または、 1桁目が1か2の場合は2桁目が0~9か(図の緑丸5)、または、 1桁目が3の場合は2桁目が0か1か(図の緑丸6)。 ※月単位では、正しい日のチェックはしていません(2/30、4/31などは許容されます)。 |

TIPS
dejirenの正規表現では、パターンに次のようなメタ文字を使えます。
文字 | 意味 | 使い方の例(パターン) | 例に一致 | 例に一致しない | 備考 |
---|---|---|---|---|---|
. | 1文字 | 私は….が好き。 | 私はコーヒーが好き。 | 私は紅茶が好き。 | コーヒーは4文字で一致、紅茶は2文字で不一致。 |
^ | 文頭から始まる | ^私は | 私は人間です。 | いえ、私は参りません。 | |
$ | 文末で終わる | しました$ | お話ししました | 食事をしました、私は。 | |
[] | いずれかの1文字と一致 | ・[春夏秋冬]が訪れます。 ・[1-5]度目のお礼です。 | ・夏が訪れます。 ・2度目のお礼です。 | ・朝が訪れます。 ・8度目のお礼です。 | 例の[1-5]内の「-」は、文字の範囲を示す特殊な文字で、この場合は「1~5のいずれか」を意味します。 |
| | いずれかと一致 | (初春|初夏|初秋|初冬)が訪れます。 | 初夏が訪れます。 | 夏が訪れます。 | 例の()は、一致候補の語をまとめる用途で使います。これを「グループ化」といいます。 |
^ | 否定 | [^1-9] | b 0 | 5 | |
* | 直前の文字を0回以上繰り返し | ab*c | abc ac abbbbbc bbbac | bbc bca | |
+ | 直前の文字を1回以上繰り返し | ab+c | abc abbbc abcccc | ac bca aacc | |
? | 直前の文字が0回または1回 | ab?c | abc ac | bc abbc | |
{} | 指定文字数を繰り返し | 驚き!{3} | 驚き!!! | 驚き! |