検索したい文字列 ※クリックで詳細説明に移動 正規表現 ※赤い字がメタ文字、グレーの「\」はエスケープのための「\」 bから始まってkで終わる3桁の文字列
検索したい文字列 ※クリックで詳細説明に移動 正規表現 ※赤い字がメタ文字、グレーの「\」はエスケープのための「\」 bから始まってkで終わる3桁の文字列
正規表現の入門とエディターでの使い方の記事です。 英数字とエディターでの検索 ワイルドカード 文字クラスとグルーピング 正規表現を使ったエディターでの置換 文字種別による指定 まとめ はじめに 最近ではスクリプト系の言語はもちろん C++ 以降の言語ではほとんど正規表現が標準機能として使えるようになっています。 C++ でも C11 の新規約では正規表現が標準ライブラリとなりました。 今後、正規表現はプログラミングで当たり前のように使われる流れにあると言えるでしょう。 何故正規表現がそんなに使われるのでしょうか? それは正規表現を使えば、圧倒的に文字列処理が簡単にかけるからです。 また、プログラミング言語で使えるだけでなく、 高機能なエディターでは正規表現による検索と置換が行えます。 これはコードリーディングやコーディングを楽にしてくれます。 プログラミングをするのならば、正規表現を知らな
特定コマンドの正規表現で使えるメタ文字が何だかわからない! 正規表現自体は知っているけど、それが今から使おうとしているコマンドで使えるものなのかわからずに困っている人も多いと思うのでまとめてみた。 たった3つの正規表現メタ文字セットだけ知ればいい コマンドによって、対応している正規表現メタ文字の範囲には違いがある。しかし、最低限知っておけばよいのは2種類+1サブセットの3つだけだ。 BRE(基本正規表現)メタ文字セット ERE(拡張正規表現)メタ文字セット AWKのサブセット もちろん、これ以外にもGNU拡張正規表現メタ文字セットやPerl拡張正規表現メタ文字セット、JavaScript拡張正規表現メタ文字セットなどいくつかあるのだが、「どのUNIXでも(=POSIXで)使える」という特長を持たせたいのであれば、それらは覚えても意味がないので上記の3つさえおさえておけばよい。(例えPOSI
1.正規表現とはなにか? 端的に言えば、「いくつかの文字列を一つの形式で表現するための表現方法」です。 では、なぜこの表現方法が有名なのかといえば、この表現方法を利用すれば、たくさんの文章の中から容易に見つけたい文字列を検索することができるためです。 この形式を使えば、以下のようなコギャルの会話にもついていけます(^_^) 「Windows ってあって…WINDOWSかもしんないしぃ、次にスペースが入ってるかもしんないしぃ、入ってないかもしんないし、後にやっぱ 98 が付くってゆーかー、もしかすると 95 が付いてもいいかなぁって感じでぇ…」 これ以上続けるとこちらがキレてしまいそうなのでこのあたりにしておきますが…これは、正規表現で書くと… W(indows|INDOWS) ?9[85] って感じで一行で書けちゃうっていうかぁ…あ、つい、口調が移ってしまった(^_^;)…書けるのでありま
ここはテキスト処理のテクニックをみがくための遊園地です。誰でも、コンピュータを触り始める前は、何かすごい、魔法の箱がうちにやってきたように考えて期待するもんですが、いざ使い始めてみると、こんなこともできん、あれも無理、ということが、いやというほどわかってくる。その結果、多くの場合、期待した魔法の箱は、早々と、単なるゲーム機や文章の清書機といういわゆるワープロ専用機の代替品になるのは、まだいいほうで、年に一回の年賀状印刷機になったりします。いわばお高くとまった料理店みたいなもんで、メニューにないものは一切出しません、と傲慢に構えているのがコンピュータの正体だと、だんだんわかってくるわけです。 プログラミングは、いわば、メニューにないものをコンピュータにムリヤリやらせる方法です。これまでは、エラそうに構えていた料理店の店主に、お客の要求に合わせて料理をださせる方法だといってもよいでしょうね
入力チェックを正規表現で行いたい場合、以下のようなパターンが使える 「ASCII文字」のみ public static final String MATCH_ASCII = "^[\\u0020-\\u007E]+$";「英字」のみ public static final String MATCH_ALPHA = "^[a-zA-Z]+$";「数字」のみ public static final String MATCH_NUMBER = "^[0-9]+$";「ひらがな」のみ public static final String MATCH_HIRAGANA = "^[\\u3040-\\u309F]+$";「カタカナ」のみ public static final String MATCH_KATAKANA = "^[\\u30A0-\\u30FF]+$";「半カタカナ」のみ public
はじめに 正規表現とそのエンジンについてちょっとメモ。 正規表現とは 文字列の集合を文字列で表現する方法の一つ 正規言語を表現するための手段 「正規言語」とは、「有限オートマトンで受理可能」な言語 正規表現と有限オートマトンは記述能力において等価 任意の正規表現は、有限オートマトンに相互に変換可能 有限オートマトン 以下の5つの組(Q,Σ,δ,q0,F)のことをいう 有限状態機械ともいう 有限個の状態Q 有限個の文字集合Σ 状態と文字集合の組から状態へ遷移する関数δ 状態Qの一つとして、開始状態q0 状態Qの一つとして、受理状態の集合F 入力に対して、開始状態から状態を遷移させ、状態に応じて出力(受理or拒否)を返す 状態遷移図とは、有限オートマトンを(抽象的に)記述した図 非決定性(Nondeterministic)と決定性(Deterministic) 「決定性有限オートマトン(DFA
備忘録兼、初心者向けのメソッド一覧。 余裕があればRails編とかも書こうかな。 これ忘れてるとか何事?とかいう突っ込みがあれば是非お願いします。 もうちょっとコードの具体例書きたかったけど、めんどくさくなってきたw Array Array#combination(n), Array#permutation(n) 配列のデータを元に組み合わせ(順列)を作ってくれます。 ブロックを渡さない場合はEnumeratorで組み合わせの各要素を列挙します。 Enumerator Enumerator#with_index(offset = 0) Enumeratorの各要素に合わせてindexを列挙してくれるEnumeratorを返す。 each_sliceやcombination等にメソッドチェインで繋げて使う。 Enumerator#with_object(obj) with_indexと同様で
パターンの末尾に「|」を付け加えると、その正規表現は常にマッチする。 /aaa/.exec("xyz"); // => null /aaa|/.exec("xyz"); // => [""] これを使えば、ある位置でのみパターンマッチを行うということ(Perl の正規表現で「\G」のメタ文字を使うようなこと)が JavaScript でもできる(Firefox に限っては「y」フラグを使えば簡単にできるけど、独自拡張今のところ他のブラウザでは使えない)。 // RegExp::exec の戻り値の配列には index プロパティがあり、 // マッチに成功した位置を表す var text = "xxxaaxxxaaa", regexp, result; // 4〜6文字目が aaa かどうかだけ確かめたいとする // 通常の正規表現 regexp = /aaa/g; regexp.last
RegEx Cafe - JavaScript Regular Expression Tester http://kkosuge.github.com/regex-cafe/ CoffeeScriptで書いたのでCafeです。 サクッと正規表現の確認をしたいとき Rubular が便利で使う事が多かったんだけど、落ちてる事が多かった。サイト自体が落ちてなくても、テスト結果の表示がベラボーに遅い事があったりする。入力するたびAjaxで結果取りに行ってるから遅くなるのは仕方ない気するんだけど、簡単な確認くらいならJavaScriptでいいじゃんと思ったので再開発しました次第です。Githubページにホスティングしてもらってるので落ちる事ほとんどないだろうし、通信しないので速いです。 正規表現テストツールの既出感やばいけど、その中でもRegEx Cafeはだいぶ使い易くて良いと思う。 Cof
正規表現と構文図について解説します。オートマトンについても詳しく述べます。オートマトン・スゴロクで遊びましょう! 世間でよく知られている/使われている概念・方法にはこだわらず、僕(檜山)の感覚で一番わかりやすいと思われる筋書きと用語法/図式法を使って説明します。この記事に目を通して“感じ”が掴めたら、形式言語理論の教科書を読み始めることが出来るでしょう。 [追記]この記事の内容に対する具体例は、「正規表現とオートマトン:なんだ簡単じゃん、JavaScriptによる実装」にあります。[/追記] 内容: 正規表現 正規表現の例 構文図 基本記号 連接 選択 省略可能 繰り返し ストレートワイヤーによるレイアウト調整 有限状態オートマトン 有限状態オートマトンの実行 バックトラックと先読み スゴロクとオートマトン コマをたくさん使うスゴロクと並列処理 非決定性オートマトンと決定性オートマトン 正
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く