タグ

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

  • 正規表現によるバリデーションでは ^ と $ ではなく \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 の正規表現をうまく使えるんだ(\zs \ze 編) | Webシステム開発/教育ソリューションのタイムインターメディア

    問題 Vim の正規表現はとても豊富で、ベーシックなものからアドバンスドなものまでかなりの道具が揃っています。 これを駆使すればありとあらゆる……は言い過ぎですが、 世の中のテキスト処理の九分九厘を快適に行うことができます。 ただ、あまりにも数が多いので、一体どこから覚えていけばいいのか困りますし、 :help に記載されているものの中には今後の人生で活用する機会があるかどうか分からないものもあります。 手っ取り早く正規表現力を高めて生産性を向上するには一先ずどれを覚えれば良いのでしょうか。 解答 まずは\zsと\zeを覚えましょう。 この2つは正規表現のマッチの開始位置/終了位置を指定することができます。 これだけでは何のことやらさっぱりですが、以下のように応用することができます: 「foobar」の「foo」を指定 foo\zebar で表現できます(Perl 語で言うところの foo

    僕が一番 Vim の正規表現をうまく使えるんだ(\zs \ze 編) | Webシステム開発/教育ソリューションのタイムインターメディア
  • 正規表現確認ツール RegEx Cafe を作った - 9mの日記

    RegEx Cafe - JavaScript Regular Expression Tester http://kkosuge.github.com/regex-cafe/ CoffeeScriptで書いたのでCafeです。 サクッと正規表現の確認をしたいとき Rubular が便利で使う事が多かったんだけど、落ちてる事が多かった。サイト自体が落ちてなくても、テスト結果の表示がベラボーに遅い事があったりする。入力するたびAjaxで結果取りに行ってるから遅くなるのは仕方ない気するんだけど、簡単な確認くらいならJavaScriptでいいじゃんと思ったので再開発しました次第です。Githubページにホスティングしてもらってるので落ちる事ほとんどないだろうし、通信しないので速いです。 正規表現テストツールの既出感やばいけど、その中でもRegEx Cafeはだいぶ使い易くて良いと思う。 Cof

  • 正規表現の限界 @ Shibuya.pm

    swatmac.info Buy this domain. 2020 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy

  • この機会にマスターしようぜ、正規表現、構文図、オートマトン - 檜山正幸のキマイラ飼育記 (はてなBlog)

    正規表現と構文図について解説します。オートマトンについても詳しく述べます。オートマトン・スゴロクで遊びましょう! 世間でよく知られている/使われている概念・方法にはこだわらず、僕(檜山)の感覚で一番わかりやすいと思われる筋書きと用語法/図式法を使って説明します。この記事に目を通して“感じ”が掴めたら、形式言語理論の教科書を読み始めることが出来るでしょう。 [追記]この記事の内容に対する具体例は、「正規表現とオートマトン:なんだ簡単じゃん、JavaScriptによる実装」にあります。[/追記] 内容: 正規表現 正規表現の例 構文図 基記号 連接 選択 省略可能 繰り返し ストレートワイヤーによるレイアウト調整 有限状態オートマトン 有限状態オートマトンの実行 バックトラックと先読み スゴロクとオートマトン コマをたくさん使うスゴロクと並列処理 非決定性オートマトンと決定性オートマトン 正

    この機会にマスターしようぜ、正規表現、構文図、オートマトン - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • gkbr.me

    このドメインを購入する。 gkbr.me 2018 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy

  • 正規表現メモ

    \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

  • 正規表現で素数判定 - NO!と言えるようになりたい

    追記:ハッキリ言ってこの正規表現はネタなので,実際に素数判定を行いたい場合は,もっと別な賢いアルゴリズムを使ったほうが良いです 正規表現で素数が判定できるという記事を見たので試してみた. http://www.noulakaz.net/weblog/2007/03/18/a-regular-expression-to-check-for-prime-numbers/ この記事によると /^1?$|^(11+?)\1+$/ という正規表現を使うと,素数判定が出来るらしい.ある整数 n が素数かどうか判定したい場合は,"1" * nという文字列がこの正規表現にマッチするかどうかを調べればよく,マッチすれば非素数,マッチしなければ素数となる.ただし,"1" * n は,例えば,n が 4 ならば "1111" と 1 が 4 回連続して続く文字列となる. Rubyで書いた素数判定プログラムはこん

    正規表現で素数判定 - NO!と言えるようになりたい
  • 秀丸エディタQ&A集: 第Ⅳ部 - テキスト編集を極める!! 正規表現について

    第IV部〜テキスト編集を極める!! 正規表現について ●正規表現について 秀丸だけでなく、高度で自由度の高い検索をするには必須の「正規表現」。 ここでは実用上重要な例をとりあげながら、わかりやすく解説します。 今日からあなたの「検索」が変わります。 正規表現に関する話題は、 次の「【0】いんとろだくしょん」に続く 以下の5章から構成されています。 【1】 基編 〜表記のルールと意味〜 【2】 実践編 〜正規表現による置換の実際〜 【3】 まとめ 【4】 参考文献 【5】 (補足) 秀丸上での複数行にまたがる検索について ※以下の内容は、秀丸ヘルプの「検索系コマンド→検索→正規表現」の 内容についての補足です。 よってヘルプを参照しながら読まれる事を想定して書かれています。 【0】 いんとろだくしょん いきなりですがここでクイズです。

  • おそらくはそれさえも平凡な日々: PHPの正規表現と文字列

    PHPで正規表現を扱う上で、正規表現パターンの記述で迷ってしまっている人が多い気がする。 PHPが文字列を生成する その文字列を正規表現エンジンに渡す と言う2段階の手順があり、そこがやや複雑なので混乱を招く部分があるのだと思う。 混乱を防ぐためには、その手順をしっかり追って、正規表現リテラルとして指定している文字列をechoしたらPHPがどのように出力するかを考えてみると良い。 例えば以下のようなコードがあったとする。 preg_match('/\\d/','3d'); まず、preg_match()の第一引数になっている正規表現パターンをechoで出力するとどうなるかを考える。 echo '/\\d/'; #/\d/ なので、/\d/が正規表現エンジンに渡されると分かる。なので、上記のパターンはマッチする。 さらに混乱を招きやすくしているのが、PHPの文字列の仕様で、特にバックスラッシ

  • Windowsでの正規表現の練習に·正規表現練習ツール MOONGIFT

    正規表現練習ツールはWindows用のオープンソース・ソフトウェア。正規表現が使えるか否かはテキストファイル加工における生産性に大きな違いが現れる。ちょっとした修正を手で直していたり、何度も置換していたりするのは愚の骨頂だ。正規表現なら一発でできるという場面は実に多い。 正規表現のテストに 記号を使うから分かりづらい…という意見もあるだろうが覚えてしまえば大して難しいものでもない。さあまずは練習だ。そのためのソフトウェアが正規表現練習ツールだ。バイナリが提供されていないようだがC# Expressでもコンパイル可能だ。 正規表現練習ツールは二つのペインで構成される。下にテキストが表示され、上で正規表現を記述する。テキストファイルを開くこともできる。正規表現は複数記述可能で、マッチした文章を指定した色でハイライト出来るようになっている。 この青色のマッチが不明 使ってみた限りでは一部表示に問

    Windowsでの正規表現の練習に·正規表現練習ツール MOONGIFT
  • JavaScript正規表現メモ。 (JavaScriptでよく使う書き方。) - こせきの技術日記

    タイトル変えました。旧タイトル「JavaScriptでよく使う書き方」。よく使うけど毎回忘れる。 正規表現にマッチするかどうか。 RegExp#testを使う。 /abc/.test("abcdefg") // => true String#searchはマッチした位置を返す。マッチしない場合は-1。先頭にマッチすると0でfalseなので注意。真偽値が欲しい場合はString#searchを使わない。 "abcdefg".search(/xxx/) // => -1 "abcdefg".search(/def/) // => 3 "abcdefg".search(/abc/) == false // => true 正規表現の部分マッチを得る。 部分マッチを得るには、RegExp#execかString#matchを使う。execとmatchの速度は大して変わらない。 正規表現のベンチマー

    JavaScript正規表現メモ。 (JavaScriptでよく使う書き方。) - こせきの技術日記
  • IDEA * IDEA

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

    IDEA * IDEA
  • 「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
  • 正規表現の入門(1) 基礎的なメタ文字

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

    正規表現の入門(1) 基礎的なメタ文字
  • ブラウザで正規表現のチェックなどができるサイトまとめ | IDEA*IDEA

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

    ブラウザで正規表現のチェックなどができるサイトまとめ | IDEA*IDEA
  • 正規表現の機能の覚書き

    はじめに「はじめての正規表現」がホッテントリ入りしていますが、 導入としては、何に使うのかがわかりやすくて良いのではないかと思います。 あれを見て、基機能をまとめてみたくなったので、正規表現の基的な機能について書いてみます。 (正規表現が初めてという人は「はじめての正規表現」を先に見たほうがいいと思います。) 例では「検索」か「置換」をするものとして話を進めていきます。 (「はじめての正規表現」が実例を中心にしたのに対して、こちらは機能を中心に書きます) 正規表現は、プログラミング言語やその他のツールなど、それぞれで微妙な違い(方言)があるので、その点には注意が必要です。 (表記法が違ったり、ここに紹介する機能がサポートされていなかったり、逆に紹介していない機能をサポートしていたりする場合があります) メタ文字とリテラル文字正規表現には、メタ文字とリテラル文字というものがあります。 メ

    正規表現の機能の覚書き
  • 正規表現の問題集1(基本編)

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

    正規表現の問題集1(基本編)
  • 1