2
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?

More than 1 year has passed since last update.

はじめに

仕事上正規表現を見かけることはありますが、自分から積極的に使うことはありませんでした。
理由の第1位は「読めないから」。
仕事では「.*」しか使ったことありません。

逃げ回っていたらついに正規表現をそこそこ使いそうなプロジェクトに入ってしまいました。
・・・よし、観念してちゃんと勉強しましょう。

正規表現とは

そもそも正規表現とは何か

正規表現って文字列をマッチングさせるためのパターンっていう認識でした。
でも記事書く以上この1行だけだと微妙なので、ちゃんと調べましょう。

手っ取り早くWikipedia大先生にお聞きしました。
Wikipedia

もともと正規表現は形式言語理論において正規言語を表すための手段として導入された。形式言語理論では、形式言語が正規言語であることと正規表現によって表せることは同値である。

・・・え?もともとは違うの??
とはいえ、今は文字列のマッチングパターンを表すものを「正規表現」と呼ぶようです。

正規言語が気になった方は下記の方の記事をどうぞ↓
正規言語とは何か?

正規表現ライブラリ

正規表現と言っても、1つの方式というわけではなく、様々なライブラリがあるようです。
ここら辺はプログラム言語と似たような感じでしょうか。

Wikipediaでは代表的な例として下記が挙げられています。

ライブラリ名 説明
PCRE Perl 5形式の正規表現をC言語で実装したライブラリ
ApacheやPHPといった様々なソフトウェアに組み込まれている
鬼車 正規表現オブジェクトごとに文字コードを指定できることが特徴のライブラリ
鬼雲 鬼車からフォークされたライブラリ
re2 Googleが提供する正規表現ライブラリ
他の正規表現ライブラリとは異なりオートマトン理論を使用している
GNU Regex GNU Cライブラリに標準ライブラリとして組み込まれている
Boost.Regex C++用のライブラリ

その2へ続く

ここからが本番なのですが、長くなりそうなので次回にします!
正規表現の考え方に主観を置いて書く予定なので、こうご期待!!

2
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
2
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?