タグ

regexpに関するgnwのブックマーク (11)

  • なるべく短い正規表現で住所を「都道府県/市区町村/それ以降」に分けるエクストリームスポーツ - Qiita

    rex = /ごにょごにょ/ p "東京都文京区後楽1丁目3−61".match(rex).captures #=> ["東京都", "文京区", "後楽1丁目3−61"] みたいなやつ。なるべく短く。 実用性? そんなもの、うちにはないよ。 TL;DR 「読むのめんどくさい」という人用に最初に最終結果を置いておきます (...??[都道府県])((?:旭川|伊達|石狩|盛岡|奥州|田村|南相馬|那須塩原|東村山|武蔵村山|羽村|十日町|上越|富山|野々市|大町|蒲郡|四日市|姫路|大和郡山|廿日市|下松|岩国|田川|大村)市|.+?郡(?:玉村|大町|.+?)[町村]|.+?市.+?区|.+?[市区町村])(.+) あまり厳密ではないのでちゃんとしたとこでは使わないほうがいいです 住所データを用意する 郵便局からデータをダウンロードしておく。一ヶ月毎に更新されている。 → 郵便番号データ

    なるべく短い正規表現で住所を「都道府県/市区町村/それ以降」に分けるエクストリームスポーツ - Qiita
    gnw
    gnw 2016/01/27
  • GitHub - mattn/jvgrep: grep for japanese vimmer

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - mattn/jvgrep: grep for japanese vimmer
    gnw
    gnw 2015/05/08
  • Big Sky :: 日本語grepが出来るjvgrepというのを作った。

    語を扱っていて困るのがgrep。正規表現パターンにマルチバイト文字を混ぜられなかったり、windowsで動かすと"表"の様に2バイト目にbackslashが混じる文字で動作しなくなったりします。 さらに複数のエンコーディングで書かれたファイルが散らばっていると一度のgrepで検索出来なかったりもします。 vimに限っては、内蔵のvimgrepを使う事で解決出来ますが、見つかったファイルをバッファに開いてしまうという挙動がある為、grepオリジナルの動作を求めている人にとっては都合の悪い物だったりもします。 vimgrepの様に複数のエンコーディングに対応していて、検索パターンにマルチバイト文字を含んだ正規表現が使えて、windowsでもちゃんと動いて、ついでといっちゃあなんだが、"**/*.txt"で再帰検索してくれる様なgrep無いかなぁと思ってたんですが、やっぱり無いので作りました

    Big Sky :: 日本語grepが出来るjvgrepというのを作った。
  • 正規表現の限界 @ Shibuya.pm

    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

    gnw
    gnw 2011/07/07
  • gkbr.me

    このドメインを購入する。 gkbr.me 2018 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

  • Big Sky :: JSONをvalidation出来る正規表現。

    追記 os0xさんにjson2.jsで使われている手法である事を教えてもらいました。 正しくはエスケープが必要。 以下フォーラムで議論されている内容から拝借 validating json unnecessarily is killing firefox - jQuery Forum // Try to use the native JSON parser first if (window.JSON && window.JSON.parse) { try { return window.JSON.parse( data ); } catch (err) { jQuery.error( "Invalid JSON: " + data ); } } else { if ( /^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-f

    Big Sky :: JSONをvalidation出来る正規表現。
  • RE2を試してみた。 - 初学者の箸置

    Google Code Searchで使われている正規表現ライブラリRE2が公開された。 http://code.google.com/p/re2/ PCRE系のバックトラック式(指数的時間、どこまでも伸びるスタック)に変わるものとして、Ken Thompsonのopen source grepで使われている fast DFA方式(多項式時間、固定スタック)で実装されているらしい。ちょと試してみようかと。 まずはPCREの速度測定 http://swtch.com/~rsc/regexp/regexp1.html とのことで、試してみる。 PCREで(a?)^n(a)nをつくって実験。 #include <iostream> #include <string> #include <sys/time.h> #include <pcrecpp.h> long long gettime() {

    RE2を試してみた。 - 初学者の箸置
  • 米Google、高速・低メモリ消費の正規表現ライブラリ「RE2」を公開 | OSDN Magazine

    Googleは3月11日、正規表現ライブラリ「RE2」を発表した。動作が高速で「スレッドフレンドリー」な点が特徴。従来のバックトラック型正規表現ライブラリの代替として開発を進めていく。 Googleによると、同社はCode SearchやSawzallといったインフラやアプリケーションで正規表現を利用しているが、バックトラックアルゴリズムを利用した従来の正規表現実装では入力データに対し処理時間が指数的に増加することが問題となっていた。また、固定サイズのスタックを持つC++のマルチスレッドプログラムの場合、従来の正規表現実装ではスタックを使い切ってスタックオーバーフローを発生させることがあったという。これらを解決するために独自の正規表現エンジンを開発したとのこと。 RE2はどのような入力や正規表現に対しても一定の小さいメモリ量で動作するように開発されているのが特徴。オートマトン理論の下、処

    米Google、高速・低メモリ消費の正規表現ライブラリ「RE2」を公開 | OSDN Magazine
  • サービス終了のお知らせ

    平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 件に関するお問い合わせはこちらよりお願いいたします。

  • 「すべての漢字を取り出す正規表現」をPHPで試す、を正しく行う:phpspot開発日誌

    Information Flow and Stock: [PHP] mb_ereg()じゃない、preg_match_all()に/uをつけるんだ! なので、できる限りpreg系の関数を使いたいわけですが、検索対象や検索パターンに日語が含まれているときは、日語処理に対応したereg系の関数であるmb_ereg系の関数が使われることが多いようです。 以前、「すべての漢字を取り出す正規表現」をPHPで試す、を正しく行う方法。 以前はmb_eregによる方法を示しましたが、次の方法の方がうまく動作するようです。 preg_match_all('/[一-龠]+|[ぁ-ん]+|[ァ-ヴー]+|[a-zA-Z0-9]+|[a-zA-Z0-9]+/u', $strToSplit, $aMatches); print_r($aMatches); // マッチ結果が全出力 確かに、なぜか取れない漢字があ

    gnw
    gnw 2006/12/12
  • [を] 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

    gnw
    gnw 2006/03/11
  • 1