タグ

regexpに関するgologo13のブックマーク (26)

  • Pattern (Java Platform SE 7 )

    All Implemented Interfaces: Serializable public final class Pattern extends Object implements Serializable A compiled representation of a regular expression. A regular expression, specified as a string, must first be compiled into an instance of this class. The resulting pattern can then be used to create a Matcher object that can match arbitrary character sequences against the regular expression.

  • PCRE - Perl Compatible Regular Expressions

    The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. PCRE has its own native API, as well as a set of wrapper functions that correspond to the POSIX regular expression API. The PCRE library is free, even for building proprietary software. PCRE was originally written for the Exim MTA, but is now used by many high-pr

  • 正規表現 - 2部 Perl言語仕様 - [SMART]

    正規表現の概要 正規表現は、Perlの中で最も重宝する機能のひとつです。正規表現にはテキスト処理のための様々な機能があり、文字列の中から特定のパターンを見つけ出したり、置換したりすることができます。 正規表現の基的な使用方法 たとえば、$strという変数に格納したデータの中から、「A」で始まって途中は何があるかわからないが最後が「E」という文字列を探したい場合、次のように記述することで、条件にマッチする文字列を見つけることができます。 $str =~ /A.*E/; 上記では、ドット( . )が改行以外の1文字を表し、アスタリスク( * )がその任意の文字の0回以上の繰り返しを意味します。このように、正規表現において特殊な働きを持った文字を正規表現演算子、またはメタ文字と呼びます。また、=~ はパターン結合演算子と呼ばれ、「左辺の値から右辺の値を検索する」という意味があります。 正規表現

    正規表現 - 2部 Perl言語仕様 - [SMART]
    gologo13
    gologo13 2011/11/20
    普通の資料よりも詳しい
  • 関数型的正規表現マッチ - Preferred Networks Research & Development

    最近ローソンでお菓子をたくさん買った田中です。 近頃読んで面白かった論文を紹介したいと思います。 A Play on Regular Expression 今年のICFPでFunctional Pearlとして発表されたものです。ICFP(International Conference on Functional Programming)というのは、関数プログラミングに関する国際学会で、Functional Pearlというのは、エレガントでためになる、関数プログラミングのテクニック集です。 この論文ではまず、正規表現マッチャを関数型言語(Haskell)でいかにエレガントに記述できるかが示されます。それから、エレガントさを保ったままの線形時間実装へ改良し、その実装がC++によるプロフェッショナルな実装(具体的にはGoogle re2)に匹敵するパフォーマンスを示すことが示されます。さら

    関数型的正規表現マッチ - Preferred Networks Research & Development
    gologo13
    gologo13 2010/11/22
    関数型でこんなことができるのか.
  • 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

  • 正規表現 [Perl講座 -Smart]

    正規表現の概要 正規表現は、Perlの中で最も重宝する機能のひとつです。正規表現にはテキスト処理のための様々な機能があり、文字列の中から特定のパターンを見つけ出したり、置換したりすることができます。 正規表現の基的な使用方法 たとえば、$strという変数に格納したデータの中から、「A」で始まって途中は何があるかわからないが最後が「E」という文字列を探したい場合、次のように記述することで、条件にマッチする文字列を見つけることができます。 $str =~ /A.*E/; 上記では、ドット( . )が改行以外の1文字を表し、アスタリスク( * )がその任意の文字の0回以上の繰り返しを意味します。このように、正規表現において特殊な働きを持った文字を正規表現演算子、またはメタ文字と呼びます。また、=~ はパターン結合演算子と呼ばれ、「左辺の値から右辺の値を検索する」という意味があります。 正規表現

    正規表現 [Perl講座 -Smart]
  • letsboost::regex

    sample サンプルの動作確認バージョン [GCC4.4/1.41.0] [VC9/1.41.0] #include <iostream> #include <string> #include <boost/regex.hpp> using namespace std; int main() { // <で始まって>で終わる文字列にマッチする正規表現で検索 boost::regex r( "<[^>]+>" ); boost::smatch m; string str1 = "The HTML tag <title> means that ..."; if( boost::regex_search(str1, m, r) ) { cout << "found (pos=" << m.position() << ")" << endl; cout << " ==> " << m.str()

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 残高照会メモ: pythonでsplit

    文字列を一定のルールでちょん切って配列にするという仕事はよく生じる。 こんなときは、文字列にsplitメソッドを適用すればよい。 >>> "out of google, out of existence".split(" ") ['out', 'of', 'google,', 'out', 'of', 'existence'] でもsplitメソッドは、不定数の空白文字で区切られたものをうまく扱えない。 >>> "out of google, out of existence".split(" ") ['out', '', '', '', 'of', 'google,', 'out', 'of', '', '', 'existence'] perlだと正規表現を使ってsplitもできたのになあ、と不便に思って調べると、ちゃんとpythonでもそれができた。ただ、明示的に正規表現オブジェクト

  • 正規表現からその正規表現にマッチするような例を生成する - soutaroブログ

    当にやりたいことは、 型から、その型を持つようなRubyプログラムを生成するなんだけど(というかこれはHaskell界隈の人が喜んでやってるやつだよな、つまんね)、とりあえず正規表現で考えてみてた。 正規表現は有限状態オートマトンになるわけで、ループがあるとやだなぁ、とか考えてたんだけど、研究室の後輩(オートマトン屋さん)に相談してみたら、少なくとも正規表現に限定してしまえば簡単になると言われた。確かに、よく考えてみれば、ループがある場合は*とかで明示されてる。そういうわけで30分くらいで作ったプログラム。 実行例: $ ruby regen.rb /red|blue|green|(#[01234567890ABCDEF][01234567890ABCDEF][01234567890ABCDEF][01234567890ABCDEF][01234567890ABCDEF][0123456

    正規表現からその正規表現にマッチするような例を生成する - soutaroブログ
  • d.y.d. 正規表現にマッチする例をランダム生成

    15:43 07/05/17 正規表現にマッチする例 soutaroさんの 正規表現にマッチする例をランダム生成 する話を見てたら、 自分でも書きたくなってきました。というわけでソース。 正規表現を構文解析してオートマトンに コンパイルしてから、その上を似非ランダムウォークしてます。対応してる正規表現は ?と+と*と|と.と[…]だけです。[…]の中の-とか^とかにも反応しません。あと IE と Rhino でしかチェックしてないので他の環境で動かなかったらゴメンナサイ。 きっともっとマトモなのをsoutaroさんが公開されるはずです。 ボタンを押したらこの上↑に10個例が生成されるはず。 で、動かしてみて思ったのは、当たり前だけど繰り返しが長続きしないなー、と。 確かに、ループをちゃんと意識しないと面白い結果にならないかもしれないですね。 なるほど。 追記12:15 07/05/18 ぎ

    gologo13
    gologo13 2010/08/20
    与えた正規表現にマッチする例を自動で生成する
  • Implementing Regular Expressions

    Implementing Regular Expressions Russ Cox rsc@swtch.com This page collects resources about implementing regular expression search efficiently. Articles and Notes “Regular Expression Matching Can Be Simple And Fast” An introduction to using finite automata to implement regular expression matching, and why the standard backtracking implementation is a bad idea. Supporting programs: NFA | DFA | bound

  • Regular Expression Matching in the Wild

    Regular Expression Matching in the Wild Russ Cox rsc@swtch.com March 2010 Introduction The first two articles in this series, “Regular Expression Matching Can Be Simple And Fast” and “Regular Expression Matching: the Virtual Machine Approach,” introduced the foundation of DFA-based and NFA-based regular expression matching. Both were based on toy implementations optimized for teaching the basic id

  • re2 - Project Hosting on Google Code

    This is the source code repository for RE2, a regular expression library. For documentation about how to install and use RE2, visit https://github.com/google/re2/. The short version is: make make test make install make testinstall Building RE2 requires Abseil (https://github.com/abseil/abseil-cpp) to be installed on your system. Building the testing for RE2 requires GoogleTest (https://github.com/

    re2 - Project Hosting on Google Code
    gologo13
    gologo13 2010/08/17
    c++で正規表現使いたいときは,boostとかよりもこれを使えばいいのか.
  • 正規表現で素数判定 - NO!と言えるようになりたい

    追記:ハッキリ言ってこの正規表現はネタなので,実際に素数判定を行いたい場合は,もっと別な賢いアルゴリズムを使ったほうが良いです 正規表現で素数が判定できるという記事を見たので試してみた. http://www.noulakaz.net/weblog/2007/03/18/a-regular-expression-to-check-for-prime-numbers/ この記事によると /^1?$|^(11+?)\1+$/ という正規表現を使うと,素数判定が出来るらしい.ある整数 n が素数かどうか判定したい場合は,"1" * nという文字列がこの正規表現にマッチするかどうかを調べればよく,マッチすれば非素数,マッチしなければ素数となる.ただし,"1" * n は,例えば,n が 4 ならば "1111" と 1 が 4 回連続して続く文字列となる. Rubyで書いた素数判定プログラムはこん

    正規表現で素数判定 - NO!と言えるようになりたい
  • regexp - でエラトステネスのふるい : 404 Blog Not Found

    2010年07月22日13:00 カテゴリ regexp - でエラトステネスのふるい やりましょう。 正規表現で素数判定 - NO!と言えるようになりたい 正規表現でエラトステネスのふるいはさすがに無理かなできました。 #!/usr/bin/perl use strict; use warnings; my $max = shift || 100; my @primes; sieve: for my $ns ( map { 1 x $_ } ( 2 .. $max ) ) { for my $ds (@primes) { last if $ds x length($ds) gt $ns; next sieve if $ns =~ /^(?:$ds)+$/; } push @primes, $ns; printf "%3d:%s\n", length $ns, $ns; } 見ての通り、

    regexp - でエラトステネスのふるい : 404 Blog Not Found
  • 正規表現サンプル(エスケープが必要な文字)

    正規表現では特別な意味を持つ文字がいくつかあり、そのまま記述すると意味のある指定と解釈されます。 これらの文字を、通常の文字列として認識させる場合は、エスケープしてください。 (エスケープとは、\ マークをつけて特殊動作を無効にさせること。)

    gologo13
    gologo13 2010/06/14
    エスケープが必要な文字
  • Perl-正規表現 - Wikibooks

    Perlは強力な 正規表現 をサポートしています。正規表現とは、大まかにいうと、検索の機能を高度化しやすくしたものです。Perl以外のJavaJavaSciptやPHPなども正規表現をサポートしていますが、Perlは古くから正規表現を格的にサポートしています。 また、Perlの拡張正規表現は、Perl Compatible Regular Expressions( PCRE ) としてPerlの外でも使うことができるため、正規表現のディファクトスタンダードの1つとなっています。 パターンマッチング[編集] =~[編集] 二項演算子 =~ は、左辺のスカラー式を右辺のパターンマッチに拘束します。 正規表現に関する操作では、デフォルトで $_ という文字列を検索したり変更したりします。 この演算子は、そのような操作を他の文字列に対して行うようにします。 右辺は、検索パターン (//)、置換

  • 正規表現メモ

    \x{} \pは後続する名前が表すクラス(プロパティ、スクリプト、ブロック)に属する文字にマッチし、 \Pは後続する名前のクラスに属さない文字にマッチします。 クラスの名前が一文字のときはブレースを省略できます。 クラス名の前に^を置くことにより否定形の指定を行うことも可能です。 Perl 5.8 での変更点 Perl5.8以降(5.6でも使えたようですが)では \pや\Pで始まるプロパティ指定に標準Unicode属性を使うこともできます。 詳しくは perlunicode perlunicode - Perl における Unicode サポート を参照してください。 日語による説明が Unicodestandard にもあります。 Perl 5.8以降ではユーザーが任意のプロパティを作成することができます (IsまたはInを必ず前置)。 詳しくは perlunicode perluni

  • Perl:正規表現を使ったパターンマッチ - builder by ZDNet Japan

    Perlには正規表現がネイティブサポートされており、テキスト処理には以前から非常によく使われている。この入門記事では、プログラムで正規表現を使ってテキストを検索し、置換する方法について簡単に説明していこう。 まず、正規表現のもっとも簡単な演算であるパターンマッチから始めよう。パターンマッチ演算は、もし文字列中にそのパターンが見つかれば真を返す。次の表現を見て欲しい。 $string =~ m/text/ この正規表現は、変数$stringに部分文字列"text"が含まれている場合にのみ真になる。これは各キャラクターをそのままマッチングさせるという、もっとも基的な正規表現だ。これはもちろん、正規表現ができることのごく一部に過ぎない。例えば、"ext"で終わる4文字の単語を見つける必要がある場合を考えてみよう。この場合、特別な意味を持つメタ文字"."を使う。正規表現では、"."はその場所にあ