dejiren TOP/よくある質問

FAQ

よくある質問

正規表現を使って文字列を探したい【正規表現】

正規表現とは、ある文章や文字列の中に、指定したルールを満たす文字や単語があるかどうかを調べる方法のことです。

正規表現用の特殊な文字(メタ文字といいます)を組み合わせてルール(パターンといいます)を作成し、作成したパターンが指定した文章や文字列の中に存在するかどうかで調べます。

次のような用途で使います。

  • 英数字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*cabc
ac
abbbbbc
bbbac
bbc
bca
+直前の文字を1回以上繰り返しab+cabc
abbbc
abcccc
ac
bca
aacc
?直前の文字が0回または1回ab?cabc
ac
bc
abbc
{}指定文字数を繰り返し驚き!{3}驚き!!!驚き!

キーワードから探す

キーワードから探す


カテゴリから探す

カテゴリから探す