- @ThothChildren
- 2018.6.6
- PV 92
文字列が指定の形式か判定したい
ー 概要 ー
メールアドレスのように文字列が指定の形式かやフォーマット通りになっているかを判定する方法についてまとめます.主に正規表現によるフォーマットの一致確認についてになります.
この章を学ぶ前に必要な知識
条件
- 確認したい文字列とフォーマットを決めた文字列
効果
- 入力文字列が入力フォーマット文字列を守っているかを確認する
ポイント
- フォーマット文字列は正規表現で記述
- 多くのプログラムは「正規表現」の関数をライブラリと一緒に提供している
解 説
通常の文字列検索ではフォーマットが正しいかどうかを確認することはできません.
それらの文字列検索ではキーとなっている文字列と一言一句一致することを求めているためです.
正規表現を使用することで、もっと柔軟な文字列の一致を確認することができるようになります.
正規表現では、文字列がどういう風に変わりうるかを記述することができ、一部自由な文字列が続いてもよいとような指定もするができます.
通常の言語では正規表現をライブラリで提供しており、Unixのコマンドであるgrepなどでも正規表現を使用することが可能です.
正規表現はオートマトンの形式で記述することができ、オートマトンから正規表現に戻すことも可能です.正規表現をオートマトンに変換すれば、実装も容易です. | 文字列が指定の形式か判定したいときの導入 | |||||||||||||||
上記のような表現を用いることで正規表現を構成します. | 正規表現の表現例 | |||||||||||||||
1.Emailの正規表現例 | ||||||||||||||||
emailなどはwebサーバ側でフォーマットが正しいかを確認する必要があります.
しかし、それを何とか正規表現なしで確認するのはかなり難しいため、通常は正規表現で確認します.
余談ですが、メールのフォーマットでは、
"username+aaa@hoge.fuga.hoge.fuga.com"のように多くのメアドでは、+の後にaaaのような適当な文字列をいくらでもつけていいことになっています.
| emailのフォーマット確認について | |||||||||||||||
右のリンク先ではemailの正規表現を表す表記を紹介している.
以下のようにPythonの場合は記述できる | 外部リンク emailの正規表現について紹介 | |||||||||||||||
Python
| pythonにおけるemailの正規表現.
リンク先では他の言語でも大方サポートしている. |
この章を学んで新たに学べる
Comments