Kanasan.JS prototype.js CodeReading#5に参加してきました。

Kanasan.JS prototype.js CodeReading#5


今回の参加者はいつもより少し減って11名。
LTもあり楽しめました。
37toさんのQueryNoteは是非使ってみたいですね。
勉強会の内容についてはあとでまとめるかも。


nanto_viさんがバグを発見した時は
「今この瞬間のためだけにKanasan.jsに参加している価値があるといえよう」
などと盛り上がってました。


その問題の個所とは
prototype.js#1.6.0.2の2972行目にある複雑な正規表現で、
ダブルクォーテーションまたはシングルクォーテーションで囲まれた文字列を抜き出す部分で、こんな記述。

((['"])([^\4]*?)\4

クォーテーションのマッチを後方参照して否定の文字クラスの中で使っているのだけど、文字クラス内ではバックスラッシュは使えない。
文字クラス内でこのように記述すると、ユニコード文字の4番目の文字という意味になり、意図的には「ダブル(シングル)クォーテーション以外の文字」を表したいが、実際には「\4以外の文字」にマッチしてしまっているという事。
非常によくやるミスらしいです。いやぁさすがです。



Kanasan.jsも早いもので読書会と合わせて9回目です。
第1回からかかさず参加しているので、今後も参加していきたいです。
参加されたみなさんお疲れ様でした。主催のみなさんありがとうございました。