« 2006年10月 | メイン | 2007年01月 »

2006年11月 アーカイブ

2006年11月18日

正規表現は使い道

 正規表現で、一番多く使われる方法は、ユーザーが入力した情報が、正しい形式かどうかを調べるときだと思います。例えば、電話番号や、メールアドレスを入力するとき、正規表現でマッチさせて、マッチしない場合、「そのメールアドレスは間違っています」などと警告を出すときです。ここからは、私の独断と偏見で作った、使えそうな正規表現の記入例を書いていきます。

2006年11月19日

メールアドレスにマッチさせる

さて、ここからは、実際に正規表現を組み立てます。

一回目は、メールアドレスにマッチさせましょう。

^[a-zA-Z].*@[\.-_a-zA-Z0-9].+\.[a-zA-Z]+$

こんな感じにしてみました。開設すると、
アルファベットで始まり、任意の文字が続き、@が挟まって、その右に英数字と「.-_」の記号の羅列が1文字以上あり、「.」があり、任意のアルファベットで終わるということですね。

電話番号にマッチさせる

電話番号にマッチさせるのは、ちょっと難しいです。それは、市外局番、市内局番を分けるハイフンの位置が異なるからです。

携帯番号にマッチ

^0[1-9]0-[0-9]{4}-[0-9]{4}$

【解説】0数字0で始まり、ハイフン、数字4桁、ハイフン、数字4桁で終わる形です。

一般回線にマッチ
ハイフンがない形式なら簡単です。

^0[0-9]{9}$

【解説】
0で始まって、9桁の数字が続く

ハイフンが必要

^0[0-9]{1,4}-[0-9]{1,4}-[0-9]{4}$

【解説】
0から始まり、4桁以内の数字の後にハイフン、その後に1~4桁の数字、ハイフン、4桁の数字となります。しかしながら、この場合、2桁-1桁-4桁でもマッチしてしまいます。実際に使うときには、上記の表現と、{12}(全部で12文字)と2種類ともマッチさせて使うのが良いかと思います。

URLにマッチさせる

ホームページのアドレスとマッチさせる正規表現を考えます。

http://[a-z]?[a-z0-9]*\.[a-z]+[\\\.-_&?=%a-zA-Z]*$

【解説】
 http://で始まり、小英字から始まり、小英数字が並び、ドットを挟んで、小英字でドメインを構成
後半は、URLで使われる記号「\.-_/」とGETなどで使う「&?=%」、更に英数字で構成されることを示してる。

About 2006年11月

2006年11月にブログ「試して学習・実践正規表現」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

前のアーカイブは2006年10月です。

次のアーカイブは2007年01月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35