タグ

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

  • よく使う正規表現はもうググりたくない! - Qiita

    タイトル通りによく使う正規表現を毎回ググるのが効率悪いのでまとめてみました。各言語で正規表現のサンプルを書いてみました。 正規表現式 Emailアドレス ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ ドメイン名 ^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]\.[a-zA-Z]{2,}$ インタネットURL ^(http|https)://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ユーザー名 (Twitter username) ^[a-zA-Z0-9_\-.]{3,15}$ 固定電話 ^0\d-\d{4}-\d{4}$ 携帯電話 ^(070|080|090)-\d{4}-\d{4}$ IP電話 ^050-\d{4}-\d{4}$ フリーダイヤル ^0120-\d{3}-\d{3}

    よく使う正規表現はもうググりたくない! - Qiita
    shidho
    shidho 2017/12/12
    有名人がやらかしたときもhttp://bit.ly/oocIec こんな感じでツッコミ入れているけど、8年経ってもこの有様だよ!/というか書かれたクソな内容がこの8年前のツッコミ全く活かしてなくて死にそう。
  • 普通のパズルではない「正規表現クロスワード」がBBCラジオに登場

    文章によるヒントを元にタテヨコに交差したマスに言葉を当てはめてマスを埋めていく「クロスワードパズル」のヒント部分を正規表現にした「正規表現クロスワード」なるものがBBCラジオの「Puzzle for Today」(今日のパズル)に登場しました。 BBC Radio 4 - Today - Puzzle for Today http://www.bbc.co.uk/programmes/articles/5LCB3rN2dWLqsmGMy5KYtBf/puzzle-for-today 2017年7月5日の今日のパズルがこれ。クロスワードパズルですが、マスを埋めるためのヒントが正規表現という、一見すると暗号のようになってます。 例えば、0行目の記載は「[^XZVCHFJLQM]+」。正規表現のルールでは、「^」は「それ以外」を、「[]」は「任意の文字」を、「+」が「前の文字の繰り返し」を意味す

    普通のパズルではない「正規表現クロスワード」がBBCラジオに登場
    shidho
    shidho 2017/07/10
    随分前にどこかで「イギリスのクロスワードのヒントは進歩しすぎて変なことになってる」みたいなことを聞いたことがあるから正規表現があってもあまり驚かない。
  • 正規表現でのメールアドレスチェックは見直すべき – ReDoS

    (Last Updated On: 2018年8月13日)前のエントリでStackExchangeがReDoSで攻撃されサイトがダウンした問題を紹介しました。少しだけ掘り下げて見たところ、正規表現だけでメールアドレスをチェックしている場合、壊滅的なReDoS(十分短い文字列で指数関数的に実行時間が増加する)が可能なことが判りました。 結論を書くと、正規表現でのメールアドレスチェックは見直すべき、です。(特にRubyユーザー) 追記:影響範囲はメールアドレスチェックに限らないので、正規表現チェックは全体的に見直さないと、どこが脆弱なのか判りません。見直してチェックしたとしても、それが完全であったと保証することは困難です。ネット検索して直ぐに見つかった検索パターンは非常に脆弱であったこと、メールアドレスのマッチパターンは脆弱になりやすい繰り返しの繰り返しが含まれること、これらがあったのでタイト

    正規表現でのメールアドレスチェックは見直すべき – ReDoS
    shidho
    shidho 2017/01/25
    ずいぶん前から「到達可能なメールアドレスを正規表現で判定するのは不可能」なのは常識だと思ってた。http://bit.ly/oocIec ドメインの有無すら正規表現で調べるのは不可能なわけで。
  • 正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう

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

    shidho
    shidho 2014/03/05
    そしてまた正規表現が一段わかりにくくなったのであった。
  • 電話番号、郵便番号にマッチする真の正規表現 : にぽたん研究所

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

    電話番号、郵便番号にマッチする真の正規表現 : にぽたん研究所
    shidho
    shidho 2011/07/07
    「訳のわからない正規表現はパズル的なお遊び」 http://bit.ly/oocIec をわざわざ体現してどうするんですか、まったく。
  • 正規表現まとめサイト | エンタープライズ | マイコミジャーナル

    Smashing Magazine - WE SMASH YOU WITH THE INFORMATION THAT WILL MAKE YOUR LIFE EASIER, REALLY. 文字列を処理するにあたって正規表現は欠かせない機能といえる。任意の文字列やテキストファイル、HTML/XMLから特定のキーワードを検索したり取り出し、置換をおこなうにあたって、正規表現が使えると使えないのとでは、プログラミングの手間やツールの活用度合いが変わってくる。 正規表現は便利で強力な機能だが、その独特の表記方法はプログラマ初心者には敷居の高いものでもある。Glen Stansberry氏による正規表現に関するチュートリアルや資料、ツールなどのまとめがSmashing MagazineにEssential Guide To Regular Expressions: Tools and Tutori

  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
    shidho
    shidho 2009/03/20
    しょうがないのでおれ素人なんだけどなあと思いつつ突っ込んでみた。 http://tinyurl.com/dbrtoz
  • 「PHP使いはもう正規表現をblogに書くな」と言わせないでくれ : 404 Blog Not Found

    2009年03月19日18:00 カテゴリLightweight Languages 「PHP使いはもう正規表現をblogに書くな」と言わせないでくれ ああ、まただよ... かなり使えるPHPの正規表現まとめ - IDEA*IDEA 〜 百式管理人のライフハックブログ 〜 正規表現って、プログラミング言語間の差が少ないサブ言語なのに、なぜ「PHP」がつくとダメ正規表現ばかり登場するのか。うんざりだ。 かなり使えるPHPの正規表現まとめ - IDEA*IDEA 〜 百式管理人のライフハックブログ 〜メールアドレスは厳密にチェックしようとするとなかなか難しいのですが、簡単なチェックだったらこれでOKぽいですね。 /^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$

    「PHP使いはもう正規表現をblogに書くな」と言わせないでくれ : 404 Blog Not Found
    shidho
    shidho 2009/03/19
    拡張メアド(+つけるやつ)がfalseになるのはたぶん簡易的チェック用途でもまずい。と思ったらこの正規表現ではasahi-netもfalseになったので爆笑。/id:mangakoji たぶん、正規表現で探しちゃいけないものに使ってるから。
  • ブラウザで正規表現のチェックなどができるサイトまとめ | IDEA*IDEA

    ドットインストール代表のライフハックブログ

    ブラウザで正規表現のチェックなどができるサイトまとめ | IDEA*IDEA
  • 住所にマッチする正規表現 | twk @ ふらっと

    Live nude webcam chat IntroductionLive nude webcam chat has become increasingly popular as a form of online entertainment and communication. This unique platform allows individuals to connect with models in real-time, engaging in intimate experiences through video chat. With the advancements in technology and the widespread availability of high-speed internet connections, live nude webcam chat has

    shidho
    shidho 2008/07/22
    これ正規表現一発では無理なんで、それっぽく頑張るしかないよね。
  • regexp - にはネストした表現は出来ない : 404 Blog Not Found

    2008年06月03日13:45 カテゴリLightweight Languages regexp - にはネストした表現は出来ない はてブでPerlにおける正規表現が注目されていたので、つらつら眺めていたら、これを発見。 後方参照によるパターン内での参照(\1, \2, ..) - マッチした部分の取得 - Perlにおける正規表現 /<(h1|h2)>.*<\/\1>/ これはあきまへん。 以下にシミュレーターを用意したので、これで試しながら読んでいただきたい。 404 Blog Not Found:javascript - yet another regexp testerより Regexp: //g Text: (define (fact n) (if (= n 1) 1 (* n (fact (- n 1))))) ;-) まずはそのまま、\([\S\s]+\)でmatchをかけ

    regexp - にはネストした表現は出来ない : 404 Blog Not Found
    shidho
    shidho 2008/06/04
    出来ることと出来ないことがある。
  • php:正規表現を使って、HTMLタグの中以外の改行コードをBRに置き換える処理を教えてください。…

    php:正規表現を使って、HTMLタグの中以外の改行コードをBRに置き換える処理を教えてください。 今、正規表現を使って、HTML文章中の改行コードを、BRに置き換える処理をPHPにて実装しています。 が、この方法がわかりません。 最初は単純に改行コードをBRタグに置き換えればよいと思っていたのですが、、 この方法だと、HTMLタグ中に入っていた改行コードもBRに置き換えられてしまい。 例えば <img src="xxx" ¥n alt="xxx"> が <img src="xxx" <br> alt="xxx"> になってしまいます。 正規表現を使えば、タグの中の改行コード以外をBRに置き換えるという処理ができそうなのですが、処理方法がわかりません。 割と普通に使われそうな感じだったので、ググッて見たのですが、解りませんでした。 *ここは確認しましたが、これだけでは理解できませんでした。

    shidho
    shidho 2008/04/29
    これ、"完璧な解決方法を正規表現だけで書くのは無理"な問題じゃなかった?
  • 実用的なPHP用の正規表現x8:phpspot開発日誌

    記事の訂正です。 (phpspotの人は正規表現について語らないほうがいいのでは)というエントリの指摘を受け、記事を修正します。 問題は、簡単な目視のチェックのみで動作確認を行わなかった点が問題ですね。 掲載した正規表現では厳密なチェックは行えない、一部の正規表現で正しく動作しないという問題点がありました。 また、「メールアドレスの正規表現」の記事修正も行っています。 メールアドレスの正規表現はきちんと書くと長くなってしまったりするので、注意文とメールが届くかどうかのチェックを促すよう記載しました。 それでも、まだ問題があるよ、という方はお手数ですが、こちらまでご連絡ください。 (追記) 正しい正規表現は、秋元さんのブログにも掲載されていますが、次のエントリを参考にするのがよいでしょう PHPでメールアドレスかどうか調べる方法 PHPでメールアドレスを確認する「正しい方法」(Linux

    shidho
    shidho 2007/10/18
    この間説明した直後にこういう(そう言う意味での)例が出るとある意味ありがたい。
  • perlreref

    名前 説明 演算子 構文 エスケープシーケンス キャラクタクラス アンカー 量指定子 拡張構造(EXTENDED CONSTRUCTS) 変数 関数 用語 Titlecase AUTHOR SEE ALSO THANKS 名前 perlreref - Perl の正規表現のリファレンス 説明 ドキュメントは、Perl の正規表現のクイックリファレンスです。 完全な情報は、perlre と perlop、また、ドキュメントの ”SEE ALSO セクションを参照してください。 演算子 =~ 正規表現が適用される変数を決定します。省略された 場合には、$_ が使われます。 $var =~ /foo/; !~ 正規表現が適用される変数を決定し、マッチの結果を反転します。 マッチが成功すれば偽を返し、失敗すれば真を返します。 $var !~ /foo/; m/pattern/igmsoxc パ

  • 正規表現メモ

    \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

  • 鬼車 正規表現

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 正規表現の確認ができるエディタを作ってみた。 - 考え得る最高を常に行う

    正規表現の練習くらいにしか役に立たないですが作ってみました。 特徴 リアルタイムで確認ができる。 XHTMLJavascriptで作ったので保存すればローカルで使える。 JavaScriptで実装してるので一部使えない表現有り。 正規表現エディタ あとがき 最近ブログを更新してないので数ヶ月前に作ったやつを手直したものです。Firefox2(MAC)とIE7では動くの確認しました。あまり詳しくないんですが各ブラウザに多少、正規表現の実装が違う気がします。 patternを空にすると選択範囲がおかしくなるのを修正。

    正規表現の確認ができるエディタを作ってみた。 - 考え得る最高を常に行う
    shidho
    shidho 2007/09/15
    このあいだ、「Javascriptの正規表現には日本語マッチに穴がある」という話を聞いたのだけど、Firefoxでは大丈夫みたい。
  • 1