Shibuya.pm #16 「夏の正規表現祭り」で、正規表現のお話をさせていただきました。 まぁ、「電話番号にマッチする正規表現」とか「郵便番号にマッチする正規表現」とかよく書かれてるけど、「どれもこれも手緩いよね」って話。 あ、だいぶはしょったかな。 とりあえずスライドに書いたので、発表をご覧になってない方はスライドからご覧ください。 ふと見返すと、このブログで電話番号の正規表現を公表するのは 3 度目ですが、あれからだいぶ経ってますね。 今ではもっと厳密な正規表現を作っています。 そして、Number::Phone::JP に続き、Number::ZipCode::JP という酔狂なモジュールが公開された記念で、郵便番号にマッチする正規表現を今回初めて公開しますが、そもそもここまで厳密な正規表現が公開されること自体、本邦初公開ってヤツでしょう。 Shibuya.pm でも言いましたが
ここはテキスト処理のテクニックをみがくための遊園地です。誰でも、コンピュータを触り始める前は、何かすごい、魔法の箱がうちにやってきたように考えて期待するもんですが、いざ使い始めてみると、こんなこともできん、あれも無理、ということが、いやというほどわかってくる。その結果、多くの場合、期待した魔法の箱は、早々と、単なるゲーム機や文章の清書機といういわゆるワープロ専用機の代替品になるのは、まだいいほうで、年に一回の年賀状印刷機になったりします。いわばお高くとまった料理店みたいなもんで、メニューにないものは一切出しません、と傲慢に構えているのがコンピュータの正体だと、だんだんわかってくるわけです。 プログラミングは、いわば、メニューにないものをコンピュータにムリヤリやらせる方法です。これまでは、エラそうに構えていた料理店の店主に、お客の要求に合わせて料理をださせる方法だといってもよいでしょうね
正規表現と構文図について解説します。オートマトンについても詳しく述べます。オートマトン・スゴロクで遊びましょう! 世間でよく知られている/使われている概念・方法にはこだわらず、僕(檜山)の感覚で一番わかりやすいと思われる筋書きと用語法/図式法を使って説明します。この記事に目を通して“感じ”が掴めたら、形式言語理論の教科書を読み始めることが出来るでしょう。 [追記]この記事の内容に対する具体例は、「正規表現とオートマトン:なんだ簡単じゃん、JavaScriptによる実装」にあります。[/追記] 内容: 正規表現 正規表現の例 構文図 基本記号 連接 選択 省略可能 繰り返し ストレートワイヤーによるレイアウト調整 有限状態オートマトン 有限状態オートマトンの実行 バックトラックと先読み スゴロクとオートマトン コマをたくさん使うスゴロクと並列処理 非決定性オートマトンと決定性オートマトン 正
#6 のakiracoolさんへ Wendy02と申します。 こちらが触れたことについて、文章的に何か、不快感を表されたようにも読み取れます。私の書いた内容について不足があり、もし誤解されていたらすみませんです。 文面の中で、アクセス(Ms-Access)について触れていましたので、一般的には、Accessをお持ちの方はそれほど多くはありません。その部分について、Windows のみで可能だと書いたわけです。 つまり、#5の私の内容は、「" "(クォーテーション)」をつける作業について触れたものです。これについては、私には、Excelのワークシートで、明確な解決方法が見出せませんでした。データベース系のCSVでは、「" "(クォーテーション)」が必要になるものもありますが、Excelは、インポートが主ですから、出力にはあまり柔軟な対応はしないように思います。 しかし、もし、VBAの処理なら
1.正規表現とはなにか? 正規表現を簡単にご説明します 2.正規表現を使う準備 エディタの設定はできていますか? 3.正規表現サンプル集 【検索編】 よく使う検索サンプルを取り揃え! 4.正規表現サンプル集 【置換編】 置換でこそ正規表現の威力を発揮! 5.正規表現のお勉強と本の紹介 ├お勉強編1 ├お勉強編2 ├お勉強編3 ├お勉強編4 └エスケープ文字 上から順番に見ていきましょう。だんだん難しくなります。 6.エディタの強調表示でテキストに色づけ 正規表現で見やすくなる 7.プログラムで正規表現を使う 各種プログラム言語での正規表現の使い方 正規表現リクエスト回答集 リクエストに随時お答えしています 新・正規表現チェッカー 便利なツール。置換作業にも使える!
Firefoxにおける日本語でのページ内検索生活を快適かつ高速にする拡張機能です。いちいち漢字に変換しなくても、ローマ字で「kanzi」と入力するだけでそのまま「感じ」とか「幹事」とか「漢字」とかを検索できるようになります。いまいちピンとこない方は、実際に動いてる様子の動画をご覧下さい。 http://piro.sakura.ne.jp/xul/_video/xulmigemo.html ラテン文字の発音記号などを無視する機能もあります。例えば「frederic」で「Frédéric」がヒットするようになります。 検索モードを切り替えることで、任意の正規表現でページ内検索を実行することもできます。 XUL/Migemoが利用できる場面は以下の通りです。 * ページ内検索(Firefox) * スマートロケーションバー(Firefox) * 履歴とブックマークの検索ボックス(Firefox)
bokkoです。 テキストの整形処理を行う上で正規表現は非常に重要です。正規表現なしでテキストの整形処理をするくらいなら自分で正規表現ライブラリを書いてやるという人がいるのかどうかは知りませんが、実際、相当大規模なWebソフトウェアのプロジェクトならそっちの方が早いかもしれません。なんだか自分で書いてて何が言いたいのかわからないような文章になってしまいましたが、私が言いたいのは正規表現はそれくらい強力で、習得して使う価値があるということです。 ただ、正規表現にはじめて触れる場合、非常にとっつきにくく思う方もいると思います。私も最初、意味のわからない文字の羅列に圧倒されたような気がします。 このように最初の段階でとっつきづらく思ってしまうのは大抵慣れの問題なので、とりあえず、正規表現を使ったプログラムでも書いてみるのが一番の近道です。何かしらのテキストを整形するというのがいい題材ですが、私が
Linuxでよく使われるコマンドの一つにGrepがあるだろう。ファイルの内容を調べながら検索してくれるので、関数を洗い出したり設定部分を見つけたりするのに役立つ。開発者の方であればその便利さはよく分かっているだろうし、それがWindowsにはなぜないのかとすら思うかも知れない。 Windowsらしい初心者にもやさしいGrepツール だがご安心を。もちろんWindowsにも存在する。しかもWindowsらしくGUIを使って分かりやすインタフェースで提供されている。それがgrepWinだ。 grepWinはGPLの下に公開されているオープンソース・ソフトウェアで、GUIを使ってGrepを実行し、さらに置換まで行ってくれるソフトウェアだ。 grepWinではファイルを探すディレクトリを指定し、検索文字列を設定する。もちろん正規表現が利用できるが、逆に使わずに検索することもできる。サブディレクトリ
タイトル変えました。旧タイトル「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の速度は大して変わらない。 正規表現のベンチマー
ひととおり触ってみたあとで O’Reilly Radar > Pipes and Filters for the Internet を読んで In The UNIX Programming Environment, Kernighan and Pike write that at the heart of the Unix philosophy “is the idea that the power of a system comes more from the relationships among programs than from the programs themselves.” っていうところにほんとそうだなーとおもったりしながら機能強化をまっていた yahoo pipes が正規表現をサポートしたそうで、日本語のマッチングができるかどうかちょっとだけ試してみました。 正規表
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く