最近よく見る正規表現。JavascriptでもPythonでも、スクレイピングやクローリングをする時に正規表現で指定して取っていく。
今回はJavascriptで簡単な正規表現を使ったので、まとめてみる。と言っても4つだけ。
#正規表現入門
そもそも正規表現は以下のように表す。
var hoge = /"pattern"/;
スラッシュの中にパターンを書いてそれをtest,match,replaceなどをする。
##よく使うやつ
^
: これは文頭ということ
$
: 逆にこれは文末
\
: 探したいやつの前に置く。下に例あり。
\d
: 数字。まあ%dとかで使うのでなんとなくわかる。
\w
: [a-zA-Z_0-9]
その他にも山ほどあるが、今回はこれで足りるので、これくらいに。
実際に使用してみる。
##郵便番号
var postcode = /^\d{3}-\d{4}$/;
最初見たときはよくわからなかったのだが、正規表現を理解すればめちゃくちゃ簡単。
スラッシュの中に書くので//←これは必須
文頭からスタートにしたいので、^
を入れる。
\d{3}
で[0-9]の文字が3つということ。同様に\d{4}は数字4文字。
最後に$
を付けておしまい。-
は郵便番号なので付けておく。
var email = /^\w+\@\w+\.\w+/;
@前までは任意の文字が入るので\w+
と記入。+
は前の文字の連続。今回は\wが何回でも入るということ。
それ以外はもう見ればわかるでしょう。
##URL
var url = /^\https?:\/\//;
ちょいとややこしい。\https?
で?は前の文字が0or1回出るという意味なので、http,httpsの場合二つが取得できるというわけだ。
//←これはhttp://←このスラッシュを表すためである。スラッシュを連続で書いてしまうと、エスケープになってしまうので、意味が変わってくる。従って上のように書いている。
##電話番号
var tel = /(\d+)-(\d+)-(\d+)/;
今までのやつが分かれば簡単である。
また新しい正規表現を使う時があったら、追記しようと思う。
最近はvalidationもemailやtelなど自分で書く必要がないので、全部自力でやろうとするとわからなくなる。
便利な世の中だ。