タグ

正規表現に関するunaristのブックマーク (6)

  • rubyの正規表現の複数行モード - 名もないテクノ手に

    きょうふと、自分がへんな思い込みをしていることに気がつきました。 恥ずかしいったらないんだけど、もしかして同じことを思ってる人がいるかもしれないので書いておきます。 どんな思い込みかというと... 改行を含む複数行の文字列に対してrubyで正規表現で検索置換をする時、改行文字で区切られた行の行頭「^」や行末「$」を使うには、m修飾子が必要だという誤解です。ワンライナーで書くと ruby -e 'puts "aa\nbb\ncc\n".gsub(/^/, "M")' の結果が Maa bb cc だと思ってた。 Maa Mbb Mcc という結果を得るには ruby -e 'puts "aa\nbb\ncc\n".gsub(/^/m, "M")' と書かないといけないと思っていたんです。まじすいません。 そういう誤解を醸成したのは、perlの複数行モードをイメージしていたからでしょう。per

    rubyの正規表現の複数行モード - 名もないテクノ手に
    unarist
    unarist 2014/11/05
    mオプションが^$に影響しないのかー。Perlの他にPHP、.NETでも影響するので・・・。
  • Apache Combined Log を効率的にパースする正規表現メモ, Apache Combined Log 解析正規表現ベンチマークの補足 (2007/10/05), Apache Combied Log を解析する CPAN .. - [ぴ](2007-09-07)

    _ [システム運用][Perl] Apache Combined Log を効率的にパースする正規表現メモ ググるとよく見つかるのははてな - Apache形式のログを解析する正規表現を教えてください (Geekなぺーじ : アクセスログの読み方(apache combined logの場合)) の ($host, $ident, $user, $time, $request, $status, $bytes, $referer, $agent) = ($line =~ /^(.*) (.*) (.*) \[(.*)\] "(.*)" (.*) (.*) "(.*)" "(.*)"/); だが、最長一致の .* が多数登場するためか、マッチ処理がとても遅い。たった10万行パースするのに Core2 使って23.7秒ってあり得なくね? できるだけ最短一致でマッチさせるように ($host,

    Apache Combined Log を効率的にパースする正規表現メモ, Apache Combined Log 解析正規表現ベンチマークの補足 (2007/10/05), Apache Combied Log を解析する CPAN .. - [ぴ](2007-09-07)
    unarist
    unarist 2013/02/20
    .*?がなかなか優秀らしい
  • 正規表現クロスワード、解ける? | スラド デベロッパー

    ヒントがすべて正規表現で書かれたクロスワードパズルが家/.で紹介されている(A Regular Crossword: PDF、 I Programmerの記事、 家/.)。 このクロスワードは1月の「2013 MIT Mystery Hunt」で出題されたパズルの1つ。各列のヒントは「.*H.*H.*」のような正規表現で書かれており、難易度を上げるため3つの列が交差する6角形のグリッドを使用している。ただし、答えは意味のある語句にならないため、I Programmerの記事で指摘されているように、クロスワードというよりも数独に近いようだ。

  • .NET の正規表現に関するベスト プラクティス - .NET

    .NET の正規表現エンジンは、リテラル テキストの比較と照合ではなくパターン一致に基づいてテキストを処理する、完全な機能を備えた強力なツールです。 ほとんどの場合は、すばやく効率的にパターン一致が実行されますが、 ただし、場合によっては、正規表現エンジンの速度が低下したように見える場合があります。 極端なケースでは、比較的小さな入力の処理に何時間も何日もかかり、応答しなくなったように見えることさえあります。 この記事では、開発者が正規表現で最適なパフォーマンスを確保するために採用できる、いくつかのベスト プラクティスの概要を説明します。 警告 System.Text.RegularExpressions を使用して信頼できない入力を処理するときは、タイムアウトを渡します。 悪意のあるユーザーが RegularExpressions に入力を提供して、サービス拒否攻撃を行う可能性があります

    .NET の正規表現に関するベスト プラクティス - .NET
  • Clinick's Clinic on Scripting: 正規表現による Visual Basic Scripting Edition (VBScript) の機能強化

    Vernon W. Hui Microsoft Corporation May 10, 1999 Contents Regular Expressions: What the Heck Are They? VBScript RegExp Object VBScript Matches Collection Object VBScript Match Object So What Does a Pattern Look Like? Gimme an Example Already! More Power to You! Information Overload! Wow! Talk about living in Internet time. Only nine months ago, the Microsoft® Scripting Technologies team released V

    Clinick's Clinic on Scripting: 正規表現による Visual Basic Scripting Edition (VBScript) の機能強化
  • @IT:Windows TIPS -- Tips:findstrで正規表現を検索する

    Windows OSで正規表現による文字列検索をしたい! メモやログといったテキストファイルから、いろいろなパターンで文字列を検索して目的の情報を見つけたい。そのようなときに便利なのが「正規表現」による文字列検索だ。固定の検索文字列に比べ、はるかに多様なパターンの文字列をずっと少ない記述で見つけ出せる。 UNIX/Linux環境に慣れているなら、解決策として「grep」コマンドや「egrep」コマンドが思い浮かぶのではないだろうか。しかし、Windows OSにはgrepは標準装備されていない。 その代わり、「findstr.exe」というコマンドラインコマンドを利用すると、正規表現を使った検索機能が利用できる。Tech TIPSでは、その使い方を説明したい。ただ制限もあるので、使用上の注意点の他、代替策も紹介する。 findstrコマンドの基的な使い方 findstrの基的な使い方

    @IT:Windows TIPS -- Tips:findstrで正規表現を検索する
  • 1