タグ

regexpに関するtyruのブックマーク (51)

  • 正規表現でのメールアドレスチェックは見直すべき – ReDoS

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

    正規表現でのメールアドレスチェックは見直すべき – ReDoS
  • V8 JavaScript Engine: Speeding up V8 Regular Expressions

    Show navigation This blog post covers V8’s recent migration of RegExp’s built-in functions from a self-hosted JavaScript implementation to one that hooks straight into our new code generation architecture based on TurboFan. V8’s RegExp implementation is built on top of Irregexp, which is widely considered to be one of the fastest RegExp engines. While the engine itself encapsulates the low-level l

    tyru
    tyru 2017/01/13
    "Historically, various components of V8 have been implemented in JavaScript. Until recently, regexp.js has been one of them" / "Posted by Jakob Gruber, Regular Software Engineer"
  • Weighted RegExp Matching

  • 関数型的正規表現マッチ - Preferred Networks Research & Development


      A Play on Regular Expression ICFPFunctional PearlICFPInternational Conference on Functional ProgrammingFunctional Pearl (Haskell)C++(Google re2)
    関数型的正規表現マッチ - Preferred Networks Research & Development
    tyru
    tyru 2017/01/04
    A Play on Regular Expression
  • A Play on Regular Expressions読んだ - プログラムモグモグ

    A Play on Regular Expressions 最後まで読みました. 対話的に書かれていて読みやすかったのと, ソースコードがほとんどそのまんま動いたため楽しかったです. 正直言って, 正規表現のエンジン書いたのは初めてでした. この論文の素晴らしい所は, そんなぼくでも, ACT1を読むだけで, 取り敢えずなんか動くエンジンが作れてしまうことですね. ただ, 指数関数的にメモリーをうからがんばろうって言ってACT2に続くわけですが... ACT2からもすごく良かった. Semiringを使って正規表現の返す値を一般化する方法は, とても美しく, 気持よかったです. そして, 最終章のLazinessにきた時, 興奮が収まりませんでした. 少しコード貼っておきます. 最初に出てくる, 正規表現を表すデータ型はこんな感じです. data Reg = Eps | Sym Char

    A Play on Regular Expressions読んだ - プログラムモグモグ
    tyru
    tyru 2017/01/04
    {a{n}b{n} | n >= 0} を扱う正規表現が作れる。今の自分には謎技術だ…
  • 正規表現とオートマトン:JSONオブジェクトの妥当性検証 - 檜山正幸のキマイラ飼育記 (はてなBlog)


    Catyregular expression type 使使使JSON  JSON    JSON  JSON 
    正規表現とオートマトン:JSONオブジェクトの妥当性検証 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    tyru
    tyru 2017/01/04
  • 鬼雲に非包含オペレータを実装した話 - Qiita

    概要 田中哲さん(@tanaka_akr)が以前提案された「非包含オペレータ」というものを(実験的に)鬼雲に実装しました。これを使うと例えば C 言語のコメントにマッチする正規表現などが簡単に書けるようになります。 ここでは、非包含オペレータとは何か、また今後の見通しなどについて説明します。 非包含オペレータとは? 非包含オペレータは田中さんが約 9 年前に発表された、正規表現の拡張です。理論的背景と実装例は以下のスライドと論文に示されています。 正規表現における非包含オペレータの提案 Absent Operator for Regular Expression 従来の正規表現では、「特定の文字以外の 1 文字にマッチする正規表現」は文字クラスの否定を使って [^x] のように書くことができますが、それに対して「特定の文字列を含まない文字列にマッチする正規表現」は簡単に書くことはできません

    鬼雲に非包含オペレータを実装した話 - Qiita
    tyru
    tyru 2017/01/04
  • 正規表現入門 星の高さを求めて


    13JOI2013/2014宿 http://www.ioi-jp.org/camp/2014/2014-sp_camp-rules.html  便1960Read less
    正規表現入門 星の高さを求めて
    tyru
    tyru 2017/01/03
  • VM型の正規表現エンジンを実装する - Qiita


     MokkosuScalaScala   DFAVM DFADFAVMVM DFAVM  
    VM型の正規表現エンジンを実装する - Qiita
    tyru
    tyru 2017/01/03
  • 正規表現技術入門を読んだ | κeenのHappy Hacκing Blog


    κeen   RubyUnix使  RE2VMVM Standard ML VMDFAVMAST   VMDFA (SMLVMDFA使)  
    正規表現技術入門を読んだ | κeenのHappy Hacκing Blog
  • 正規表現エンジンを作ろう一覧

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

    正規表現エンジンを作ろう一覧
    tyru
    tyru 2017/01/03
  • 正規表現で素数判定 - 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 n4 "1111" 14 Ruby
    正規表現で素数判定 - NO!と言えるようになりたい
    tyru
    tyru 2017/01/02
    今更分かった…そういうことだったのか… / id:Haaaa_N \N は再帰ではないです。再帰は (?N) ですね。 http://ngyuki.hatenablog.com/entry/2015/09/23/203737
  • golang で正規表現クロスワードを解く - Qiita


     GoAdvent Calendar 2016  25gogo2go33(2)75Go   姿 builderscon 2016   Vimmer  Vim  
    golang で正規表現クロスワードを解く - Qiita
  • situs informasi perjudian online

    situs informasi perjudian online informasi perjudian online yang memberikan rifrensi atau wawasan dalam bermain The term 여성알바 구인구직 shiftwork applies to any timetable that falls beyond the long periods of 7:00 a.m. to 6:00 p.m. As per the U.S. Department of Work Measurements, around 16% of salaried and blue collar laborers are on a shift plan. While certain representatives like pulling all nighters

  • 正規表現を複数回実行する際の注意点 - Qiita


    javascript "hoge" var example = "hoge"; var regexp = /hoge/g; regexp.test(example); // true regexp.test(example); // false regexp.test(example); // true regexp.test(example); // false ... truefalse    var examples = ["hoge", "hoge", "ho
    正規表現を複数回実行する際の注意点 - Qiita
  • UniViewSVG 16β

    Tables and lists appear here. To get started, either: select a Unicode block or character range using the controls above, add characters, code points or text to the Search field and click on one of Hex, Dec, Characters or Text, or paste some text into the text area and hit the button to list the characters. Clicking/tapping on characters in a table or list displays detailed information for them in

    tyru
    tyru 2016/03/05
    正規表現(に限らないけど)Unicode文字プロパティの一覧とか表示してくれる (via http://techracho.bpsinc.jp/hachi8833/2013_09_13/13433 )
  • 正規表現を使ったDoS – ReDoS


    (Last Updated On: 201888)DoSReDoS HPFortify ReDoSPDF Wikipedia OWASP CHECKMARX  2015 (PDF) CHECKMARX 2009 (PDF) 3CHECKMARXPDFOWASPCHE
    正規表現を使ったDoS – ReDoS
  • 正規表現(肯定先読み、否定先読み、肯定戻り読み、否定戻り読み) - satosystemsの日記


     (|)(|)  boost::regex   (?=regex) regex 使  "Windows (?=95|98|NT|2000)" "Windows 2000"  "Windows" "Windows 3.1"  "Windows"    (?!regex) regex 使
    正規表現(肯定先読み、否定先読み、肯定戻り読み、否定戻り読み) - satosystemsの日記
    tyru
    tyru 2014/07/22
    なるほど。「後読み」よりも「戻り読み」のが覚えやすいな。/何回調べたかわからん
  • Atom Flight Manual

    CompanyEngineeringProductSunsetting AtomWe are archiving Atom and all projects under the Atom organization for an official sunset on December 15, 2022. January 30, 2023 Update: Update to the previous version of Atom before February 2 On December 7, 2022, GitHub detected unauthorized access to a set of repositories used in the planning and development of Atom. After a thorough investigation, we hav

    Atom Flight Manual
    tyru
    tyru 2014/07/05
  • sedlisp.sed 00:54 - 2014-06-08 - 兼雑記


    https://github.com/shinh/sedlisp Lisp  sed  https://github.com/shinh/sedlisp/blob/master/sedlisp.sed README  eval.l  eval  eval  FizzBuzz S Lisp  sed  Lisp  Lisp  FizzBuzz  Ruby  eval.l 
    sedlisp.sed 00:54 - 2014-06-08 - 兼雑記
    tyru
    tyru 2014/06/08
    "Lisp インタプリタを書きました。 sed で。"