おもしろい問題を見つけてチェッカーで試し始めると止まらなくなるよね。

昨日おもしろかったのは正規表現クックブックにあったこれ。

((\d\d){1,3})

対象文字列例:1234567890
(クックブックとは変えてる)

PHPのpreg_match()やgオプション無しだと
[0]:123456 [1]:123456 [2]:90

で、preg_match_all()やgオプション有りだと
PHP:
[0][0]:123456 //全体マッチ1回目
[0][1]:7890  //全体マッチ2回目
[1][0]:123456 //外カッコ1回目
[1][1]:7890  //外カッコ2回目
[2][0]:50   //内カッコ1回目
[2][1]:90   //内カッコ2回目

JS:match() g
[0]:123456 //全体1回目
[1]:7890  //全体2回目

Javascriptの/gでは多次元配列で返してくれない。
ここにJS正規表現チェッカーがあるけど、
http://www.regular-expressions.info/javascriptexample.html
match()の/g付きはやってくれないのでこれをいじってmatch()/g付きを試せるようにしてチェック。
http://gyunyu.info/regexp/jsexp.html
※バージョンが違ったので修正
3番目のボタンが追加したボタン。(show match2)
jsのmatch()はいまいちだねえ。AS3もECMAベースだから同じだろうな。
キャプチャーカッコが使えない。


勉強になるし楽しいねえw

正規表現クックブック/Jan Goyvaerts

¥4,410
Amazon.co.jp