タグ

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

  • regex101: build, test, and debug regex

    An explanation of your regex will be automatically generated as you type.

    regex101: build, test, and debug regex
  • 正規表現を体系的に学ぶつもりがない人のためのプチ講座 - Qiita

    「正規表現をきちんと学ぶ気はない、でも仕事では使いたい!」とかお思いの欲張りなあなたのための記事です。 正規表現の定義 パターンとターゲットとなる文字列(以下 対象)をマッチさせます。 (ホントのところはウィキペディアとかで調べてね!) パターンの構成 【文字+文字の数(以下 量化子)】×n 覚えるべき記号(メタ文字) たったの 6つです。 ^ => 対象の始まり $ => 対象の終わり . => どんな文字でもいいから、1文字 以下は量化子です。 * => 直前の文字がいくつあっても、なくてもいい + => 直前の文字がいくつあってもいいけど、ないとダメ ? => 直前の文字はないか、1つだけ なお、これらの文字を記号としてではなく文字としてそのまま扱いたい場合、\でエスケープできます。 文字クラス 文字は普通にaとかけばaにマッチします。が、複雑なマッチをしたいときは文字クラスを使いま

    正規表現を体系的に学ぶつもりがない人のためのプチ講座 - Qiita
  • 正規表現によるバリデーションでは ^ と $ ではなく \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 でも言いましたが

    電話番号、郵便番号にマッチする真の正規表現 : にぽたん研究所
  • http://www.rider-n.sakura.ne.jp/regexp/regexp.php

  • 正規表現メモ

    \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

  • 図解でみる正規表現入門

  • 1