タグ

regexに関するtyoro1210のブックマーク (10)

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

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

  • Vim-users.jp - Hack #75: 正規表現で先読み/後読みを使用する

  • ビルドのコマンドとプロパティのマクロ

    Download Visual Studio 2005 Retired documentation from Official Microsoft Download Center Internet Explorer was retired on June 15, 2022IE 11 is no longer accessible. You can reload Internet Explorer sites with IE mode in Microsoft Edge.

    tyoro1210
    tyoro1210 2011/10/14
    文字クラス一覧がある
  • SnowClust  正規表現の最適化

    正規表現のオプティマイザはどうなってるのかいなとググってみたら 意外と深く突っ込んだ記事が見つからなかった。 最近のchromeで使われているv8のirregexpというエンジンは 最適化器付きであると言う事を売りにしている。 だが、ソースを見てみるとどうも内部の仮想マシンにエンコードして javascriptの最適化を適用する事で実現しているっぽい。 正規表現アドホックな最適化・・と言うわけではない、まで読んだ(間違ってるかもしれない) 他のオープンソースのエンジンも見ていくか・・ 書く側としての一般的な最適化テクニックはオライリーの正規表現に書いてある。 Javaに関してなら記事も見つかった。 http://www.javaworld.com/javaworld/jw-09-2007/jw-09-optimizingregex.html?page=1 だが、こういうのってどれぐらい一

  • https://www.radsoftware.com.au/regexdesigner/

  • Unicodeで「漢字」の正規表現 – ものかの

    改訂:2017/07/22 Unicode 10.0に合わせて書き直し。正規表現を簡易にしようとしてやりすぎていたのを修正。 改訂:2023/03/21 U+30000以降を追加。InDesignの正規表現を追記。 正規表現で漢字の範囲指定をする場合、Unicodeではどうするかが悩ましいところです。 Unicodeの漢字の範囲として [一-龠] にしている例を見かけます。しかしこれは旧規格JIS X 0208の漢字が含まれる範囲をUnicodeの中から切り出しているだけです。互換漢字ブロックをまるごと取りこぼしているので、WindowsのシフトJIS(CP932)の拡張漢字に当たるものが含まれていません。現規格JIS X 0213の第3・第4水準漢字も考慮されていません。簡易な範囲指定だとしても、新常用漢字の「𠮟」が含まれておらず、今から見るとあまりに時代遅れです。 Unicodeのす

    Unicodeで「漢字」の正規表現 – ものかの
  • すべてカタカナかどうか調べる - [正規表現/PHP] ぺんたん info

    UTF-8 if(preg_match("/^[ァ-ヾ]+$/u",$str)){ echo "カタカナのみです"; }else{ echo "カタカナのみではありません"; } UTF-8 コード表記 if(preg_match("/^(¥xe3¥x82[¥xa1-¥xbf]|¥xe3¥x83[¥x80-¥xbe])+$/u",$str)){ echo "カタカナのみです"; }else{ echo "カタカナのみではありません"; } UTFでは、修飾子『 u 』をつけないと、「ダ」を認識できないことがあります。 (修飾子『 i 』などをあわせてつけたとき) EUC-JP コード表記 if(preg_match("/^(¥xa5[¥xa1-¥xf6]|¥xa1[¥xb3¥xb4¥xbc])+$/",$str)){ echo "カタカナのみです"; }else{ echo "カタカナのみ

    tyoro1210
    tyoro1210 2009/12/16
    sjis環境で動くのを色々探してここに辿り着いたけど手元の環境で動いたの、このページの「Shift-JIS コード表記」のやつだけだった。
  • HmJre.dllで拡張された機能―秀丸エディタの正規表現

    HmJre.dllを指定する 最新の秀丸では、正規表現用のDLLとしてHmJre.dllが最初から指定されているはずです。 正規表現のDLLを確認中 もし、これがJRE32.DLLになっている場合は、HmJre.dllに代えておきましょう。 始めに、メニューの→を選択して動作環境のダイアログボックスを表示します。 次にの部分からを左クリックして画面を切り替え、の部分のを左クリックします。 動作環境のダイアログボックス のダイアログボックスが表示されたら、HmJre.dllを左クリックしてからをクリックします。 HmJre.dllを選択 の画面に戻ったらを左クリックすれば設定終了です。 もう一度、のダイアログボックスを開いて、正規表現のDLLを確認してください。 繰り返し指定形式 {n}(固定回数) 直前の文字・あるいは正規表現パターンを指定した回数繰り返したい場合に使用します。 繰り返した

  • -OASIS- - 今日のメモ「ダブルクオートで囲まれた文字列にマッチする正規表現」

    HTMLをパースする場合などに、「"(ダブルクオート)」で囲まれた文字列を取得したい場合がある。 こういった場合、PHPであれば正規表現を使いpreg_match()等で取得するのであるが、この正規表現を書くには一筋縄ではいかない。 ただのテキスト文章などであれば問題にならないが、HTML等の場合はエスケープ文字が絡んでくる。「\」でエスケープすれば、「"」の中にも「"」が書けるからだ。 name="param\"price\"" value="\"900\"yen" code="\\" こういった文字列も、下記のように正しくマッチさせなければならない。 name="param\"price\"" value="\"900\"yen" code="\\" 「param」の後の「\"」はダブルクオートを閉じないが、最後の「\"」は閉じなければならない等、奇々怪々な事になっている。こんな正規

  • re: PHP でメールアドレスかどうか調べる方法

    はてブでotsuneさんやkazuhookuさんがPHPクオリティについて勘違いしていたので、一言申し上げたところ、参考にされた方がいたようで、もうちょっと補足します。 いくつか実装での「正しいメールアドレス」を調べてみました。 phpspot function is_mail($text) { if (preg_match('/^[a-zA-Z0-9_\.\-]+?@[A-Za-z0-9_\.\-]+$/',$text)) { return TRUE; } else { return FALSE; } } PEAR::Mail_RFC822 function isValidInetAddress($data, $strict = false) { $regex = $strict ? '/^([.0-9a-z_+-]+)@(([0-9a-z-]+¥.)+[0-9a-z]{2,})$/i'

  • 1