タグ

regexpに関するfubaのブックマーク (12)

  • 今日はShibuya.pm #16の日です - Pixel Pedals of Tomakomai

    今日は夏の正規表現祭りに参加していますので、自分用にメモします。 ustreamもあります! (Irr|R)egular Expressions / @dankogaiさん 「えろい」のではなく「えらい」 「命賭けるな、コード書け」 正規表現の使い過ぎに注意 $str eq 'XXX' or $str eq 'YYY' を /^(XXX|YYY)$/ に書き直したくなる → やりすぎ もしくはハッシュを使ったり、5.10 でスマートマッチ ~~ を使ったり。 メールアドレスの検証の正規表現 → 適当に書くと不完全。完全に書くとすごく長い Regexp::Common → 便利な正規表現集。ipv4とか。 Regexp::Assemble → alternations (xxx|yyy|zzz) をTRIE最適化する。 ただし、5.10 以降は自動でTRIE最適化してくれる マッチした部分を

    今日はShibuya.pm #16の日です - Pixel Pedals of Tomakomai
  • swatmac.info

    swatmac.info Buy this domain. 2020 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy

    fuba
    fuba 2011/07/07
    おもしろい…
  • d.y.d.

    19:34 09/09/19 ※Multi Exit 「C言語の関数呼び出しで引数は何個も渡せるのに返値は1個しかないのはどうしたことだどうせスタックに置く個数が変わるだけなのに」問題に関連する話に 「リターンアドレスが1個しかないのはどうしたことだ」問題があります。 どうにかしてみましょう。 String|NotFound get( Map<Int,String> map, Int key ) { if( lowlevel_primitive_map_has_key(map, key) ) return lowlevel_primitive_unsafe_map_get(map, key); // 1個目のリターンアドレスに返る return new NotFound("Error: the key \""+key+"\" not found"); // 2個目のリターンアドレスに返る

    fuba
    fuba 2009/09/16
    MOILアルゴリズムで正規表現的なもの生成、おもしろそう
  • JavaScript正規表現メモ。 (JavaScriptでよく使う書き方。) - こせきの技術日記

    タイトル変えました。旧タイトル「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の速度は大して変わらない。 正規表現のベンチマー

    JavaScript正規表現メモ。 (JavaScriptでよく使う書き方。) - こせきの技術日記
  • はじめてのにき(2007-03-02)

    _ つながりました http://d.hatena.ne.jp/w_o/20070223#c1172261767 普通に読んでなかった。 まぁ wo さんの記述はなめるように正座して読み返すという 僕の性癖に救われた。 あと正規表現も format も俺 Turing complete ではない。 間違いなくリアル Turing Complete でもないことであろう。 あとむしろ正則文法な正規表現というのはどこにあるのだろうか。 (04:58) _ iTerm文字化け なぜか解消。 なんか iTerm 修正しようと Terminal.app でほげほげモードに入ったら、 screen が動かんくなったから不審だなーと思いつつ screen -m とかで起動したら解消してた。 でもバイナリで拾ってきたヤツじゃダメで、 自分でコンパイルしたヤツだけ大丈夫。 よくわからんけど make Dep

  • はてなキーワード抽出の確認 - odz buffer

    上のエントリのスクリプトの動作確認。 とりあえず抽出ミスがないかどうかだけ確認。 #!/usr/bin/env perl use strict; use warnings; if (@ARGV != 2) { printf STDERR "usage: %s keywordlist keywordlist.extracted\n", $ARGV[0]; exit 1; } open my $rfh, $ARGV[0] or die; my $regex = join '', <$rfh>; close $rfh; open my $fh, $ARGV[1] or die; while (my $line = <$fh>) { chomp $line; if ($line !~ /^$regex$/o) { print STDERR "$line is not match\n"; close

    はてなキーワード抽出の確認 - odz buffer
  • はてなダイアリーキーワードと辞書 - 焼きサンマ綺麗に食べるブログ

    自然言語処理講習会で形態素解析器への辞書の追加方法がわかった。「はてなバンザイ」ということで、はてなダイアリーキーワードを全部ユーザー辞書にしようということを考えた。 最初、一覧ページを全部持ってきてやろうかと思ってたけど、先輩に言われてはてなダイアリーキーワード自動リンクAPIの正規表現版があるということなのでそれを用いてはてなダイアリーキーワードを取得しようということに。 それで、ダウンロードしてみたら、よくわからない文字列になっていた。いろいろやってみると文字列を1バイトごとに分割しているTrieになっているっぽい。Regexp::Trie(http://search.cpan.org/dist/Regexp-Trie/lib/Regexp/Trie.pm)なんていうモジュールもあることだし。 そのため、展開してみようという話になったけど結局よくわからない。 う〜ん、もっと簡単にでき

    はてなダイアリーキーワードと辞書 - 焼きサンマ綺麗に食べるブログ
  • はてなキーワードAPIからはてなキーワード一覧を取得する - odz buffer

    technical note - はてなダイアリーキーワードと辞書 こうですか?良くわかりません。 % wget http://d.hatena.ne.jp/images/keyword/keywordlist % python extractkeyword.py keywordlist > keywordlist.extracted % grep java keywordlist.extracted | head -n 10 10688:java 10689:java community process 10690:java computing 10691:java desktop system 10692:java ee 10693:java press 10694:java se 10695:java server faces 10696:java studio 10697:java

    はてなキーワードAPIからはてなキーワード一覧を取得する - odz buffer
  • Enjoy×Study - JavaScriptの正規表現で、メタ文字の"\s","\d"はクロスブラウザでの互換性が無い。

    正規表現で"\d"は、"[0-9]"と一緒だとずっと思っていましたが、FireFoxでは全角数字もマッチします。(FireFox1.5.0.4で確認) /\d/.test('1') // =>true /\d/.test('1') // =>trueちなみにIE 6、Opera 9では、"/\d/.test('1')"はfalseとなります。 気になったので、"\s"、"\w"についても調べてみたところ、下記のような結果になりました。 パターンFireFox 1.5,2.0IE 6, 7Opera 9 /\s/.test(' ') // 半角truetruetrue /\s/.test(' ') // 全角truefalsetrue /\d/.test('1') // 半角truetruetrue /\d/.test('1') // 全角truefalsefalse /\w/.test('

    Enjoy×Study - JavaScriptの正規表現で、メタ文字の"\s","\d"はクロスブラウザでの互換性が無い。
  • すべての漢字を取り出す正規表現 - 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のブログ
    fuba
    fuba 2006/06/08
    それUNICODEスクリプトでやりたいけどPythonにはないのかしら
  • MODULE.JP - 日本語に絡むUnicodeブロックとスクリプト(正規表現)

    といった感じ。ちなみにjava.util.regexとPerlのUnicodeブロックは接頭子Inを使うが、.NETの場合は接頭子Isを使う、という差異があります。 Unicodeスクリプトとブロックの違いがビミョーに見えるけど、ブロックがコードブロックをゴリッと指定したものに対して、スクリプトは特定言語に関係する文字の種類を直接指定するものなのでブロックよりも断定的、って感じで見れば良かなと。ちなみにUnicode関連のドキュメントによるとUnicodeプロパティとスクリプトで日語の文章を表そうとすると m/(?:(?:\p{Hiragana}|\p{Katakana}|\p{Han}|\p{Latin}|\p{Common}) (?:\p{Inherited}|\p{Me}|\p{Mn})?)+/x; こんな感じになるそうな。実際流通している文章はこれより多様なので現実とは微妙に乖離

  • 「すべての漢字を取り出す正規表現」を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(); // すべての

  • 1