タグ

regexpに関するgfxのブックマーク (15)

  • プログラミング言語における正規表現リテラルの必要性について

    Twitterに書いたことのまとめです。 プログラミング言語の仕様の一部として正規表現リテラルを提供することの得失について、JavaScriptを例に説明します。 ■より簡潔なコード 言うまでもありませんが、正規表現リテラルを使った方が簡潔なコードになります。 (new RegExp("abc")).exec(s) // リテラルを使わない場合 /abc/.exec(s) // リテラルを使った場合 また、正規表現リテラルがない場合は、文字列リテラルとしてのエスケープと正規表現としてのエスケープが二重に必要になる結果、コードの保守性が低下します注1。 new RegExp("\\\\n"); // リテラルを使わない場合 /\\n/ // リテラルを使った場合 ■エラー検出タイミング 正規表現リテラルがない場合、実際にその正規表現が評価されるまで記述エラーを検出することができません。正規表

    gfx
    gfx 2013/12/18
  • Class: Regexp (Ruby 2.0.0)

    Maintenance of Ruby 2.0.0 ended on February 24, 2016. Read more A Regexp holds a regular expression, used to match a pattern against strings. Regexps are created using the /.../ and %r{...} literals, and by the Regexp::new constructor. Regular expressions (regexps) are patterns which describe the contents of a string. They're used for testing whether a string contains a given pattern, or extractin

    gfx
    gfx 2013/08/27
  • 文字列の解析 その3: 正規表現の歴史 - 西尾泰和のはてなダイアリー

    第1回では文字列から特定パターンの部分を切り出すことがなぜ必要になるのか、そして第2回ではパターンが複雑になるとそれを実装するコードがとても複雑になるということと、その複雑なコードを人間が書くのではなくコンピュータに作らせる「正規表現」について学びました。 ここではその正規表現がどのように生まれてきたのか、軽く歴史を振り返ってみましょう。[1] (注:書きかけです) マッカロピッツのニューラルネット 1943年、Warren McCulloch と Walter Pittsの2人が神経細胞(ニューロン)の振る舞いをモデル化して、複数の神経がネットワークとしてどういう振る舞いをしうるかについての研究を発表しました。[2] 後のニューラルネットワークにつながる研究です。[3] この論文の中で彼らは、複雑なニューロンの接続関係を表現するために、独自の記法を発明しました。 (脚注[1] 今回の話は

    文字列の解析 その3: 正規表現の歴史 - 西尾泰和のはてなダイアリー
    gfx
    gfx 2013/07/08
  • 世界最速の正規表現JITエンジンの実装

    3/26(月)サイボウズ・ラボユース 最終成果報告会での資料です。 http://atnd.org/events/26861 実装詳細 → http://www.slideshare.net/sinya8282/ss-12170832Read less

    世界最速の正規表現JITエンジンの実装
    gfx
    gfx 2012/03/26
  • RegExp - /dan|dankogai/ != /dankogai|dan/ : 404 Blog Not Found

    2011年07月09日15:00 カテゴリLightweight LanguagesTips RegExp - /dan|dankogai/ != /dankogai|dan/ 詳説 正規表現 第3版 Jeffrey Friedl 株式会社ロングテール / 長尾高弘訳 [原著:Mastering Regular Expressions (3rd Ed.)] 夏の正規表現祭りで一つ大事なことを言い忘れていたのは猛暑のせいにしておこう。 それは、タイトルどおり、/dan|dankogai/と/dankogai|dan/が違うということ。 Perl 5.12 use 5.012; say ( "dankogai" =~ /(dan|dankogai)/ ); say ( "dankogai" =~ /(dankogai|dan)/ ); JavaScript (SpiderMonkey 1.7

    RegExp - /dan|dankogai/ != /dankogai|dan/ : 404 Blog Not Found
    gfx
    gfx 2011/07/09
  • Shibuya Perl Mongers : Shibuya Perl Mongersテクニカルトーク#16

    Shibuya Perl Mongersテクニカルトーク#16 を2011年7月6日(水)にmixiさんの新オフィスをお借りして開催します。 今回はmixiさんのご厚意によりテクニカルトーク後に懇親会を開催する予定となっております。 こちらも時間の許す限り奮ってご参加いただければと思います。 テーマ - 「夏の正規表現祭り」 日時 - 2011年7月6日(水) 18:45-21:00 (18:30 開場) 会場 - 〒150-0011 東京都渋谷区東1-2-20 住友不動産渋谷ファーストタワー 7F (株式会社ミクシィ) 料金 - 無料 定員 - 110名 (いちばん大きなセミナールーム) 事前登録 - http://atnd.org/events/17082 にて参加申し込みが必要 → 満員御礼 中継 - http://www.ustream.tv/channel/shibuya-per

  • regexp - (?=lookahead) and (?<=lookbehind) assertions : 404 Blog Not Found

    2007年05月01日01:45 カテゴリLightweight Languages regexp - (?=lookahead) and (?<=lookbehind) assertions Mastering Regular Expression Jeffrey Friedl [邦訳: 詳説 正規表現] つっこみの方はちょっと後回しにして... odz buffer - 正規表現の否定 #2 とりあえず、dankogai さんあたりがツッコミを入れてくれると期待。 まずはこちらから。 Unknown::Programming - 文字列の先頭がある単語で始まらない正規表現って qr/^(?:(?!foo).)+.*/ でいいのかなぁ・・・? LookbehindLookahead Positive(?<=expression)(?=expression) Negative(?<!exp

    regexp - (?=lookahead) and (?<=lookbehind) assertions : 404 Blog Not Found
  • grep, egrep, fgrep の使い分け方

    grep, egrep, fgrep の使い分け方 1995年4月に jus関西の UNIX 研究会(第61回)で、 「イキでいなせな(e|f)?grep の使い分け方」と題し、 grep ファミリの使い分け方について 15 分の発表をしました。 そのときに使った OHPシート(発表で使わなかったページもありますが)を 以下に公開します。 古くなってしまった情報や、間違っている情報もあると思います。 変な所を見つけた方は、ぜひご一報下さい。晩ご飯おごります。 OHPシートは、Mac の persuasion 3.0J で製作しました。 この元ファイルも配布しています。ご入用の方はご連絡ください。 発表の構成では、 あやメーリングリスト < aya@creamy.ics.es.osaka-u.ac.jp > での議論、 特に齊藤明紀先生・中川寛治氏のコメントを参考にしました。 複写再配布等は

  • 性感染症が心配になったら何科を受診すればいい?

    一昔前にとても大きな話題になったエイズでは、多くの患者さんが命を落としています。 ニュースなどであまり見なくなりましたが、感染者は今も増加し続けています。 事実ではない噂レベルの話が広がり、その印象を持っている人も多いかもしれませんが、正しい情報を身につけておけば、適切な対応ができるはずです。 風邪や他の感染症などと比べてあまり表に出ない病気の一つですが、かかると厄介なものです。 性感染症はSTDといって、性行為で感染する病気を総称した呼び名です。 つまり、勝手に感染するわけではなく、必ず誰かから移されるわけです。 STD感染が確認されると、その感染経路をたどることがあります。 相手は自分と親しい人だったり、母子感染なども考えられますから、原因を明らかにすることは急務です。 性感染症を疑う場合、その原因となる行動があります。 心配や不安があるのなら、一度保健所や病院で検査してもらったほうが

    gfx
    gfx 2011/04/29
    すごい!!!
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

    gfx
    gfx 2011/02/24
    Implementation of RE2 natively in Go
  • 第6回 Ruby M17N 事始め:正規表現編 | gihyo.jp

    はじめに 今回は、今話題の正規表現について、その歴史と限界、そして限界を越えた先までを解説します。なお、るりまやるびまの記事もあわせて読んでみてください。 正規表現とは さて、正規表現はもともと1940年代に神経生理学者によって生まれ[1]⁠、数学者[2]や言語学者、情報工学者たちによって理論的背景が研究されてきました。これを最初にコンピュータで用いたのがKen Thompsonによるqed[3]で、それ以降正規表現はテキスト処理に欠かせないツールとして愛されてきました[4]⁠。 基的な演算 正規表現では、量化・連結・選言という3つの演算を用いて、目当ての文字列群だけを識別する規則を記述します[5]⁠。 量化: 語を繰り返す。一般に用いられる演算子*から、スター演算とも言う。結合則は強い。 連接: 語と語をつなぐ。 選言: ある語か別の語かのどちらか。結合則は弱い。 演算子 Rubyでは

    第6回 Ruby M17N 事始め:正規表現編 | gihyo.jp
  • 5倍速いSquirrelFish Extremeの正規表現エンジンWREC

    「recursive callを得意とするV8が、recursive callに比重をおいた、V8 Benchmark Suiteで速い!速い!と語られるのはフェアではない」 今回、正規表現のみに焦点を当ててJavaScriptエンジンを比較してみた。 環境 SpiderMonkey - 1.7.0 2007-10-03SFX - Revision: 37445v8 - Revision: 389 SFX(SquirrerlFish Extreme)に新しく搭載されたWREC("the WebKit Regular Expression Compiler")、Safari 3に搭載されているJavaScript Coreに比べて、なんと5倍も速い。正規表現の実行が占める実行時間が、Webアプリケーション全体の実行時間の3%ほどだとすれば、WRECは、2.4%ほどの高速化に貢献している。 V

    5倍速いSquirrelFish Extremeの正規表現エンジンWREC
    gfx
    gfx 2011/02/10
    こんなものもあるのか。
  • http://perladvent.pm.org/2010/1/

    gfx
    gfx 2010/12/05
    正規表現に英語の解説をつけるモジュールYAPE::Regex::Explainについて。これすごいな。
  • Perlの正規表現をマスターしよう - Perl入門ゼミ

    Perl › 正規表現 Perlの正規表現の解説です。この記事を読めば、日常で利用する正規表現のすべてを短時間でマスターすることができます。正規表現を使えば、文字列の集合を表現することができ、正規表現にマッチする文字列を検索したり、置換したりすることができます。 正規表現を使って文字列の集合を表現できます。たとえば「a」「aa」「aaa」という三つの文字列を正規表現で表現してみましょう。連続する文字の個数を表現する正規表現「{}」を使って次のように書くことができます。 a{1,3} 「a」「aa」「aaa」という文字列の集合をひとつの正規表現「a{1,3}」で表しています。{}は量指定子と呼ばれるもので、連続した文字を表現することができます。 a aa -> a{1,3} aaa 正規表現の例をもう一つみてみましょう。「p1」「q1」「r1」という文字列の集合をひとつの正規表現「[pqr]

    Perlの正規表現をマスターしよう - Perl入門ゼミ
    gfx
    gfx 2010/10/04
    /x modifier を紹介すらしていないのは、使っていないからかな
  • #perl #regexp - $utf8 =~ /.../i # の傾向と対策 : 404 Blog Not Found

    2009年10月01日18:00 カテゴリLightweight Languages書評/画評/品評 #perl #regexp - $utf8 =~ /.../i # の傾向と対策 というわけで、その傾向と対策を。 [Perl]UTF8-flagged strings affects regexps with the "i" modifier - use GFx::WebLog; Perlではutf8フラグ付きの文字列に対するuc/lc/"i"正規表現修飾子は非常に遅いのだが,H::F::Liteでは/iを使っているので,試しに/iを使わないようにしてみると,速度が改善した id:gfxの主張は、以下のようにして確かに確かめられる。 use strict; use warnings; use Benchmark qw/cmpthese timethese/; { use bytes; m

    #perl #regexp - $utf8 =~ /.../i # の傾向と対策 : 404 Blog Not Found
  • 1