文章の中からあるパターンにマッチする部分があるかどうかを調べる事は比較的多く使われます。完全に一致した部分があるかどうかを調べるだけではなく、より複雑なパターンを作成するために用意されたのが正規表現です。正規表現で用意されている構文や特殊な文字を組み合わせる事で、複雑な条件を持つ検索パターンを簡潔に定義することができます。ここでは Ruby における正規表現の使い方について解説します。 ※ 正規表現については「正規表現入門」もあわせてご参照頂くと分かりやすいかと思います。

文章の中からあるパターンにマッチする部分があるかどうかを調べる事は比較的多く使われます。完全に一致した部分があるかどうかを調べるだけではなく、より複雑なパターンを作成するために用意されたのが正規表現です。正規表現で用意されている構文や特殊な文字を組み合わせる事で、複雑な条件を持つ検索パターンを簡潔に定義することができます。ここでは Ruby における正規表現の使い方について解説します。 ※ 正規表現については「正規表現入門」もあわせてご参照頂くと分かりやすいかと思います。
base2 のコードを見ていたら便利そうだったのでメモ http://code.google.com/p/base2/ 文字列から正規表現を作るとき RegExp("^hoge$"); // hoge とマッチ RegExp("^\\\\$"); // \ とマッチ RegExp("^\\[hoge\\]$"); // [hoge] とマッチ という感じで、バックスラッシュをいっぱい書かなければいけないので 以下のような関数を用意してやって function _r(str) { return (str + '').replace(/([\/()[\]{}|*+-.,^$?\\])/g, "\\$1"); } こんな感じで match(RegExp('^' + _r(prefix) + 'unko'), 'unko'); めもめも
正規表現ベースの字句解析器を書くときは、narcissusというJSベースのJS処理系のコードを見るといいです http://mxr.mozilla.org/mozilla/source/js/narcissus/jsparse.js 面倒な正規表現の模範解答が載ってます。下手に自分で考えて誤爆するより、一流の人が書いたものを使いましょう 正規表現リテラル /^\/((?:\\.|[^\/])+)\/([gimy]*)/ 文字列(ダブルクォート、シングルクォート共)/^"(?:\\.|[^"])*"|^'(?:[^']|\\.)*'/ → 訂正 Cスタイルコメント(一行、ブロック共) /^\/(?:\*(?:.|\n)*?\*\/|\/.*)/ ↓narcissusについてはyukobaさんのプレゼンを(去年のShibuya.es) http://accelart.jp/shibuyajs
AboutJRegexpTester is a standalone Swing application that helps you test regular expressions with the Sun Java standard API (java.util.regex). The extracted data can be modified with formatters similar to those used by sprintf, or with standard Java date and decimal formatters. It features RegExLib library integration with more than 900 patterns. Since the release 0.3, JRegexpTester helps you mana
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く