0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Excelで正規表現検索できるアドインのマニュアル書きで自分が勉強になっちゃった話

0
Posted at

いきなり

## 正規表現

正規表現とは、

と打ったところでピタッと手が止まる。
普段なにげなく使っている正規表現だが、いざ説明しようとするとまったく続きが出てこない。

そもそもツールのマニュアルなのだから、正規表現そのものの説明は他に譲ればいい。ネットにはいくらでも素晴らしい解説がアップされている。

だがしかし、想定した読者層はわざわざググってまで正規表現の何たるかを調べそうにない。
何故なら、わざわざググってまで正規表現の何たるかを調べる人は、たいてい正規表現の何たるかを知っているだろうからだ。

過去のベータテストで「正規表現モードであいまい検索(*や?)が使えません」というバグ(!?)報告が来た実績もある。ここは何かしらひねり出さないと...

ということで

正規表現を勉強したことがない読者を想定したページを書いてみたところ、むしろ自分の理解が深まった気がする。

とはいえ、Qiitaは読者層が違うので、そのまま置いても仕方ない。

そこで、例示などをそぎ落として、骨子をできるだけ短くまとめて置いておく。

正規表現とは

通常の文字と特殊文字1を使って、パターンを書き表す方法。

正規表現の要素

通常の文字

特殊文字以外の文字。その文字そのものを表す。

a

→ a に一致する

エスケープ

特殊文字そのものを表したいときには、直前に \ をつけてエスケープする。

\.

→ . に一致する

文字クラス

どんな文字かを表す。

[abc]

→ abc のいずれか1文字に一致する

量指定子

直前のパターンが何個あるかを表す。

a+

→ 1個以上の a に一致する

位置指定

どこにあるかを表す。

^a

→ 先頭が a で始まるものに一致する

グループ

パターンの一部を () で囲んでグループ化する。

(abc)+

→ 1個以上の abc の繰り返しに一致する

OR

| で OR(または)を表す。

(abc|def)

→ abc か def に一致する

参照

\$ に続けて数字でグループの番号(1起算)を書くことで、グループ(が一致した文字列)を参照する。

(焼き|蒸し)(りんご|バナナ)

\2 (または $2 )は果物の名前を参照する

さいごに

この記事が、正規表現を構成する部品の理解の助けになれば幸いです。

  • より詳細な例示を含む初学者向きのページ(当該ツールのマニュアルの一部)
  • 当該ツールのLP(本記事執筆時現在、ベータ版につき既知の不具合があります)
  1. 特殊文字 : パターンを表現するために使われる文字、メタキャラクタ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?