タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

regexpに関するInoHiroのブックマーク (8)

  • サルにもわかる正規表現入門

    1.正規表現とはなにか? 端的に言えば、「いくつかの文字列を一つの形式で表現するための表現方法」です。 では、なぜこの表現方法が有名なのかといえば、この表現方法を利用すれば、たくさんの文章の中から容易に見つけたい文字列を検索することができるためです。 この形式を使えば、以下のようなコギャルの会話にもついていけます(^_^) 「Windows ってあって…WINDOWSかもしんないしぃ、次にスペースが入ってるかもしんないしぃ、入ってないかもしんないし、後にやっぱ 98 が付くってゆーかー、もしかすると 95 が付いてもいいかなぁって感じでぇ…」 これ以上続けるとこちらがキレてしまいそうなのでこのあたりにしておきますが…これは、正規表現で書くと… W(indows|INDOWS) ?9[85] って感じで一行で書けちゃうっていうかぁ…あ、つい、口調が移ってしまった(^_^;)…書けるのでありま

  • RegExr: Learn, Build, & Test RegEx

    RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp). Supports JavaScript & PHP/PCRE RegEx. Results update in real-time as you type. Roll over a match or expression for details. Validate patterns with suites of Tests. Save & share expressions with others. Use Tools to explore your results. Full RegEx Reference with help & examples. Undo & Redo with {{getCtrlKey()}}

    RegExr: Learn, Build, & Test RegEx
    InoHiro
    InoHiro 2016/12/28
    便利っぽい
  • Rubyアソシエーション: 正規表現

    正規表現による文字列とのマッチングは「=~」演算子で行います。Rubyのマッチングではデフォルトでは欲張りマッチングです。 マッチした場合は、マッチした文字列中の場所の先頭インデックスを返します。また、マッチした部分や前後の文字列を取り出すことができます irb(main):001:0> r = /[A-Za-z]\d/ #1文字目が英字、2文字目が数字の正規表現 => /[A-Za-z]\d/ irb(main):002:0> p r =~ "abc123" #正規表現でマッチング 2 => 2 irb(main):003:0> p $&             #マッチした文字列 "c1" => "c1" irb(main):004:0> p $`             #マッチした文字列の前の文字列 "ab" => "ab" irb(main):005:0> p $'      

  • Rubular: a Ruby regular expression editor and tester

    Rubular is a Ruby-based regular expression editor. It's a handy way to test regular expressions as you write them. To start, enter a regular expression and a test string. Or you can try an example.

    Rubular: a Ruby regular expression editor and tester
  • 正規表現(肯定先読み、否定先読み、肯定戻り読み、否定戻り読み) - satosystemsの日記

    自分のためにメモ。 (肯定|否定)(先読み|戻り読み)、覚えづらい。 正規表現 パターン(boost::regex) 説明 肯定先読み (?=regex) regex に一致する文字列が始まる位置にある検索文字列と一致する。一致した文字列は記憶されず、後で使用することはできない。 たとえば "Windows (?=95|98|NT|2000)" は、"Windows 2000" の "Windows" には一致するが、"Windows 3.1" の "Windows" には一致しない。 先読み処理では、読み進まれた文字は処理済みとは見なされない。一致の検出後、次の検索処理は先読みされた文字列の後からではなく、一致文字列のすぐ後から開始される。 否定先読み (?!regex) regex に一致しない文字列が始まる位置にある検索文字列と一致する。一致した文字列は記憶されず、後で使用することは

    正規表現(肯定先読み、否定先読み、肯定戻り読み、否定戻り読み) - satosystemsの日記
    InoHiro
    InoHiro 2014/08/08
    わかりやすい
  • 正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう

    正規表現によるバリデーション等で、完全一致を示す目的で ^ と $ を用いる方法が一般的ですが、正しくは \A と \z を用いる必要があります。Rubyの場合 ^ と $ を使って完全一致のバリデーションを行うと脆弱性が入りやすいワナとなります。PerlPHPの場合は、Ruby程ではありませんが不具合が生じるので \A と \z を使うようにしましょう。 はじめに 大垣さんのブログエントリ「PHPer向け、Ruby/Railsの落とし穴」には、Rubyの落とし穴として、完全一致検索の指定として、正規表現の ^ と $ を指定する例が、Ruby on Rails Security Guideからの引用として紹介されています。以下の正規表現は、XSS対策として、httpスキームあるいはhttpsスキームのURLのみを許可する正規表現のつもりです。 /^https?:\/\/[^\n]+$/

  • 漢字だけを抜き出す Ruby の正規表現 - Rails で行こう! - Ruby on Rails を学ぶ

    すべての漢字を取り出す正規表現 がとても参考になった。結局次のような単純なコードでよいらしい。 (文字コードは UTF-8 を仮定) $KCODE = 'u' require 'jcode' puts 'aA0&!漢字です'.gsub(/[^一-龠]/, '') # => "漢字" ミソは、$KCODE = 'u' して require 'jcode' しないといけないということか。どうも上の正規表現は UTF-8 以外では使えないらしいのだが、まあいまどき、よい子のみなさんは UTF-8 以外なんて使ってませんよね・・・??

    漢字だけを抜き出す Ruby の正規表現 - Rails で行こう! - Ruby on Rails を学ぶ
  • 正規表現でマッチした箇所と、その前後を取り出す - gan2 の Ruby 勉強日記

    Regexp#matchを使うと、MatchDataオブジェクトが返される。 そしてMatchDataを使えば、マッチした結果の詳細を見ることができる。 MatchData#[n] ・・・ n番目にマッチした部分の文字列 MatchData#pre_match ・・・ マッチした部分より前の文字列 MatchData#post_match ・・・ マッチした部分より後の文字列 例えば、$を含む文字列にマッチした結果を見てみると以下のようになる。 ary = [ 'Hoge$1.class', 'Hoge$Fuga.class', 'Hoge$Fuga$Piyo.class', ] ary.each{|item| if m = /\$/.match(item) puts "target: #{item}" puts "pre_match: #{m.pre_match}" puts "matc

    正規表現でマッチした箇所と、その前後を取り出す - gan2 の Ruby 勉強日記
  • 1