Regular expression visualizer using railroad diagrams
Shibuya.pm #16 「夏の正規表現祭り」で、正規表現のお話をさせていただきました。 まぁ、「電話番号にマッチする正規表現」とか「郵便番号にマッチする正規表現」とかよく書かれてるけど、「どれもこれも手緩いよね」って話。 あ、だいぶはしょったかな。 とりあえずスライドに書いたので、発表をご覧になってない方はスライドからご覧ください。 ふと見返すと、このブログで電話番号の正規表現を公表するのは 3 度目ですが、あれからだいぶ経ってますね。 今ではもっと厳密な正規表現を作っています。 そして、Number::Phone::JP に続き、Number::ZipCode::JP という酔狂なモジュールが公開された記念で、郵便番号にマッチする正規表現を今回初めて公開しますが、そもそもここまで厳密な正規表現が公開されること自体、本邦初公開ってヤツでしょう。 Shibuya.pm でも言いましたが
タイトル変えました。旧タイトル「JavaScriptでよく使う書き方」。よく使うけど毎回忘れる。 正規表現にマッチするかどうか。 RegExp#testを使う。 /abc/.test("abcdefg") // => true String#searchはマッチした位置を返す。マッチしない場合は-1。先頭にマッチすると0でfalseなので注意。真偽値が欲しい場合はString#searchを使わない。 "abcdefg".search(/xxx/) // => -1 "abcdefg".search(/def/) // => 3 "abcdefg".search(/abc/) == false // => true 正規表現の部分マッチを得る。 部分マッチを得るには、RegExp#execかString#matchを使う。execとmatchの速度は大して変わらない。 正規表現のベンチマー
学習するのが億劫だったけどやっぱり勉強してよかった!と思えることがいくつかある。 そのうちの一つが「正規表現」である。見た目が難解なので敬遠しがちだが、いったん習得してしまえばこれほどパワフルなものはない。 そうしたものはもっと学習しやすくなるべきだと思う。 そこで登場したのがReReplaceである。このサイトではウェブ上で簡単に正規表現を実践することができる。 検索や置換をしたいテキストを選択し、ウェブ上で納得いくまで試行錯誤することが可能だ(Ajax化してればなおいいと思うのだが・・・)。 ちょっと難解だけどとてつもなくパワフル・・・そうしたものこそ、簡単にいじれるツールが欲しいですね。
UTF-8 の文字にマッチする正規表現 2006-03-09-1 [Programming] UTF-8の文字にマッチする正規表現の素直版。 レガシーなのに対応するとき用にメモ。 [\x00-\x7f]|[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7] [\x80-\xBF]{3}|[\xF8-\xFB][\x80-\xBF]{4}|[\xFC-\xFD][\x80-\xBF]{5} 1 2 3 4 5 60xxxxxxx 110xxxxx10xxxxxx 1110xxxx10xxxxxx10xxxxxx 11110xxx10xxxxxx10xxxxxx10xxxxxx 111110xx10xxxxxx10xxxxxx10xxxxxx10xxxxxx 1111110x10xxxxxx10xxxxxx10xxxxx
The conformance clause C12 in The Unicode Standard, Version 3.0 forbids the generation of "non-shortest form" UTF-8, and forbids the interpretation of illegal sequences, but not the interpretation of "non-shortest form". Where software does interpret the non-shortest forms, security issues can arise. For example: Process A performs security checks, but does not check for non-shortest forms. Proces
This application requires the Flash plugin. If the plugin is already installed, click here. Warning: include(../../includes/footer.php) [function.include]: failed to open stream: No such file or directory in /home/.sidestep/osteele/osteele.com/tools/reanimator/index.php on line 32 Warning: include() [function.include]: Failed opening '../../includes/footer.php' for inclusion (include_path='.:/usr
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く