タグ

正規表現に関するwackyのブックマーク (47)

  • 最速インターフェース研究会 :: NamedCapture for JavaScript

    というのを作りました。 http://la.ma.la/misc/js/namedcapture/ 正規表現の後方参照で使う部分に名前をつけてわかりやすくする構文。なんかRuby1.9でサポートされるらしい。 ちょっと調べてみたけど.NET由来なのかな。 どういう実装が一般的なのかよくわからない。とりあえずこんな感じにしてみた。 - matchの場合は結果の配列のプロパティに入る - replaceの場合、callback関数の最初の引数のプロパティに入る - グローバル参照用にはRegExp.lastMatchとは別にRegExp.last_matchってのを作ってそれに入れるようにした。 多分バグありますが、ご自由にお使いください。

    wacky
    wacky 2006/03/27
    正規表現の後方参照で使う部分($0, $1,…)に名前をつけてわかりやすくする「名前付きキャプチャ」をJavaScriptで実装。
  • [を] UTF-8 の文字にマッチする正規表現

    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

    wacky
    wacky 2006/03/11
    『UTF-8の文字にマッチする正規表現の素直版。』
  • いやなブログ: Boost で再帰的な grep

    Boostの正規表現クラスを使う Boost の正規表現クラスを使ってみよう思い、ディレクトリ以下のファイルに対して再帰的に grep を行うコードを書いてみました。 以下がそのコードです。再帰的な grep はGNU grep の --recursive オプションでできるので実用的な意味はありません。 #include <assert.h> #include <unistd.h> #include <sys/mman.h> #include <sys/stat.h> #include <fcntl.h> #include <boost/bind.hpp> #include <boost/filesystem/operations.hpp> #include <boost/filesystem/path.hpp> #include <boost/regex.hpp> using name

    wacky
    wacky 2005/11/24
    Boostの正規表現クラスの使用例。
  • 「すべての漢字を取り出す正規表現」をPHPで試す:phpspot開発日誌

    すべての漢字を取り出す正規表現を参考にPHPでトークンを切り出すサンプルを作成しました。 <?php // スクリプトはUTF-8で記述されています $str = <<<EOM ようこそphpspotへ!当サイトではフリーのwindowsphp開発環境であるPHPエディタ forWin や、フリーのPHPスクリプト( PHP掲示板,webshot,webimager,CMS 等 )、PHPツールバー、テレビバー、便利検索バー(Yahoo,Google,辞典検索)などを配布しています。その他、PHP入門 や PHP5ーTIPS、PHPサンプル集、MySQL解説、PHPレンタルサーバー特集などのコーナーもあります。 EOM; mb_internal_encoding("UTF-8"); mb_regex_encoding("UTF-8"); $token = array(); // すべての

    wacky
    wacky 2005/11/07
    日本語トークンを切り出す正規表現の応用例。簡易形態素解析として使える。あとは辞書との組み合わせかな。
  • すべての漢字を取り出す正規表現 - totonのブログ

    http://www.unixuser.org/~euske/doc/python/sample.py.html # 日語トークンを切り出すための正規表現。 JP_TOKEN = re.compile(u"[一-龠]+|[ぁ-ん]+|[ァ-ヴ]+|[a-zA-Z0-9]+") http://www.ascii.co.jp/pb/ascii/archive/aftercare/1999.html [亜-煕]はJIS漢字を検出するときに使う正規表現になります。 文中で触れている「一太郎 Lite2」の正規表現はUnicode仕様なので,すべての漢字を検出するには,[一-龠]を使用してください(龠は音読みで「ヤク」,訓読みで「ふえ」,Unicodeでは「9FA0」にあたります)。 追記 ※「すべての漢字を取り出す正規表現」については、id:toton:20051105 に記事を追加しました。

    すべての漢字を取り出す正規表現 - totonのブログ
    wacky
    wacky 2005/11/05
    日本語トークンを切り出すための正規表現。/[一-龠]+|[ぁ-ん]+|[ァ-ヴ]+|[a-zA-Z0-9]+/
  • .NETでの正規表現の使用法:CodeZine

    稿では、VB.NETを利用し、簡単な機械語で動く仮想CPUを作ることでバイナリプログラミングを満喫します。実際の業務で直接使えるケースは少ないと思いますが、デバッグやプログラミングの地力向上に役立つでしょう。今回はINC命令とDEC命令の実装を通じて、長さが違う機械語の実装法を解説します。 Visual Studioには、標準でたくさんのコントロールが用意されていますが、 ComponentOne Studio(コンポーネントワンスタジオ)には、さらに便利なコントロールが多数収録されています。この連載ではこれらのコンポーネントを組み合わせて売上管理アプリケーションを作っていきます。まずは、売上データ一覧表の項目として、 ComponentOne Studioに収録されているFlexGridを使いながらアプリケーションの土台を作成します。

    wacky
    wacky 2005/07/23
    .NETアプリケーションで正規表現を使用する方法。正規表現の名前付きキャプチャや前後読みについても解説。
  • 正規表現のeオプションをJavaScriptでエミュレート

    Perlなどの置換系の正規表現ではeというオプション(フラグ)をつけると、置換後の文字列をプログラム・コードとみなしてくれるわけですが、JavaScriptのreplace()の第一引数で指定する正規表現にはeオプションなどというモノはありません。しかし、replace()の第二引数である置換後の文字列にはStringオブジェクトや文字列リテラル以外にも関数を指定することもできるので、事実上eオプション相当のことが実現できます。エミュレートというのは正確ではない気がするけど気にしない。 具体的には、 var s = "asdf123asdf123456asdf123asdf"; document.write( s.replace( /123/g, function (num, idx, old) { return parseInt(num) + 333; } ) ); という感じ。上記例で

    正規表現のeオプションをJavaScriptでエミュレート
    wacky
    wacky 2005/04/05
    正規表現による置換で、置換後文字列として関数オブジェクトを渡すことができる。