タグ

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

  • 正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう

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

  • 電話番号、郵便番号にマッチする真の正規表現 : にぽたん研究所

    Shibuya.pm #16 「夏の正規表現祭り」で、正規表現のお話をさせていただきました。 まぁ、「電話番号にマッチする正規表現」とか「郵便番号にマッチする正規表現」とかよく書かれてるけど、「どれもこれも手緩いよね」って話。 あ、だいぶはしょったかな。 とりあえずスライドに書いたので、発表をご覧になってない方はスライドからご覧ください。 ふと見返すと、このブログで電話番号の正規表現を公表するのは 3 度目ですが、あれからだいぶ経ってますね。 今ではもっと厳密な正規表現を作っています。 そして、Number::Phone::JP に続き、Number::ZipCode::JP という酔狂なモジュールが公開された記念で、郵便番号にマッチする正規表現を今回初めて公開しますが、そもそもここまで厳密な正規表現が公開されること自体、邦初公開ってヤツでしょう。 Shibuya.pm でも言いましたが

    電話番号、郵便番号にマッチする真の正規表現 : にぽたん研究所
  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

  • 使うほどに良さが分かる正規表現

    初歩的なパターン指定 では簡単そうなところから順番に紹介していきましょう。 任意の1文字「.」 まずは任意の1文字と一致する「.」です。数字やアルファベット、記号など、文字種は問いません。DOS/Windowsのワイルドカードの「?」に相当すると考えればいいでしょう。 ちなみに、「.」自体に一致してほしいときはどうすればよいのでしょうか? その場合は「\.」と書きます。これに限らず、\を直前に置かれた文字は特別な意味を失い、そのままの文字を意味することになります。正規表現でファイル名を指定するときに「main.c」と書くと、目的の「main.c」にもマッチしますが、「main2c」などといったファイル名にもマッチしてしまいます。正確を期すためには「main\.c」と書かなければなりません。 0回以上の繰り返し「*」 次はワイルドカードの「*」に相当するパターンを紹介しましょう。実は、正規表

    使うほどに良さが分かる正規表現
  • 正規表現の問題集1(基本編)

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    正規表現の問題集1(基本編)
  • サルにもわかる正規表現入門

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

  • 正規表現サンプル集

    今日の正規表現Tips (2008/10/05) \d 0〜9の数字を表す正規表現です。 \D 数字以外を表す正規表現です。 正規表現では小文字が大文字になると反対の意味を持ちます。 ツール 正規表現チェッカー 正規表現Tips集 Tips その1 Tips その2 テキスト編集で役立つ『正規表現のサンプル集』を詳しい説明つきで紹介。 正規表現を使ってテキスト検索&置換して仕事の効率アップを図ろう。 ≪ メニュー ≫ 1.正規表現とはなにか? 2.正規表現を使う準備 3.正規表現サンプル集【検索編】 4.正規表現サンプル集【置換編】 5.正規表現のお勉強との紹介 6.エディタの強調表示でテキストに色づけ 7.プログラムで正規表現を使う 8.正規表現サンプルリクエスト

  • 1