タグ

regexpに関するMonMonMonのブックマーク (7)

  • Rob Pike's simple C regex matcher in Go

    Rob Pike’s simple C regex matcher in Go August 2022 Back in 1998, Rob Pike – of Go and Plan 9 fame – wrote a simple regular expression matcher in C for The Practice of Programming, a book he wrote with fellow Unix hacker Brian Kernighan. If you haven’t read Kernighan’s “exegesis” of this code, it’s definitely worth the 30-minute time investment it takes to go through that slowly. With Go’s C herit

  • 正規表現の脆弱性 (ReDoS) を JavaScript で学ぶ

    先日、このようなツイートを書いたところ、かなりの反響がありました。 JavaScript の正規表現の脆弱性の例でいうと、例えば /\s+$/ は脆弱性があると言える console.time(); /\s+$/.test(" ".repeat(65536) + "a"); console.timeEnd(); 結構時間がかかるのがわかる。でも /\s+$/ を見て「これは危険だな」と理解出来る人はそんなにいない。JavaScript に限らないけれど。 — Takuo Kihira (@tkihira) February 17, 2022 これは一般に ReDoS (Regular expression Denial of Service) と呼ばれる脆弱性です。正確に理解するのが難しい脆弱性なので、少し解説してみたいと思います。 結論 長い記事になるので、最初に「とりあえずこれだけ知っ

  • HTML Standard

    Firefox1+Safari1+Chrome1+Opera8+Edge79+Edge (Legacy)12+Internet Explorer5.5+Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android10.1+ Categories:Flow content.Phrasing content.If the type attribute is not in the Hidden state: Interactive content.If the type attribute is not in the Hidden state: Listed, labelable, submittable, resettable, and autocapitalize-and-

  • 鬼雲に非包含オペレータを実装した話 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 概要 田中哲さん(@tanaka_akr)が以前提案された「非包含オペレータ」というものを(実験的に)鬼雲に実装しました。これを使うと例えば C 言語のコメントにマッチする正規表現などが簡単に書けるようになります。 ここでは、非包含オペレータとは何か、また今後の見通しなどについて説明します。 非包含オペレータとは? 非包含オペレータは田中さんが約 9 年前に発表された、正規表現の拡張です。理論的背景と実装例は以下のスライドと論文に示されています。 正規表現における非包含オペレータの提案 Absent Operator for Regul

    鬼雲に非包含オペレータを実装した話 - Qiita
    MonMonMon
    MonMonMon 2017/03/25
    特定の文字列を含まない表現を簡潔に記述できる
  • Ruby 2.4.1新機能: Onigmo正規表現の非包含演算子(?~ )をチェック|TechRacho by BPS株式会社

    2017.03.23 Ruby 2.4.1新機能: Onigmo正規表現の非包含演算子(?~ )をチェック こんにちは、hachi8833です。Ruby 2.4.1リリースおめでとうございます。 多くの修正・変更点の中から、私にとって関心の高い非包含演算子を取り急ぎチェックしてみました。結構奥が深そうなので、何かわかったら別途記事にするかもしれません。 「特定の文字列を含まない文字列にマッチする」なんて夢のようじゃありませんか。 参考情報 公式ニュース: Ruby 2.4.1 Released 2.4.0以降のコミット: Comparing changes 公式のコミットはmergeばかり並んでいて読みづらいので、RubyFlowの速報も参照しました。 Ruby 2.4.1 Onigmoアップデートで非包含演算子が導入 Rubyの正規表現エンジンとしておなじみのOnigmoRubyとは独

    Ruby 2.4.1新機能: Onigmo正規表現の非包含演算子(?~ )をチェック|TechRacho by BPS株式会社
  • emacsの正規表現をもっと便利に使う - $shibayu36->blog;

    emacsで正規表現を使って置換したいみたいな要求はそれなりにあると思いますが、それをやろうとするとemacsの正規表現のバックスラッシュ地獄みたいなものに遭遇することがよくあります。そんな時に使いたいtipsを少しだけ紹介します。 re-builderを使う emacsにはre-builderというものがあって、書いている正規表現のマッチ状況をリアルタイムにプレビューすることが出来るツールが存在します。M-x re-builderして、いろいろ書いてみると現在のマッチ状況がプレビューされます。 実行中にC-c C-wすればその正規表現をコピーでき、C-c C-qで終了出来ます。emacsにはいろいろな正規表現syntaxがあるので、C-c C-iで切り替えもできます。 詳しくは以下の記事を見るとよいでしょう。 Emacsの正規表現編集モード re-builder とややこしいバックスラッ

    emacsの正規表現をもっと便利に使う - $shibayu36->blog;
  • Emacs正規表現から解放されました。foreign-regexp - Web学び

    2012年 9月 10日 perlの正規表現でemacsのisearch(インクリメンタルサーチ)やquery-replaceを使いたい... Emacsの正規表現はバックスラッシュが多すぎてひどいです。elispを書くには必要ですが、通常の作業でこれを使うのを強いられると面倒ですね。 以前からperl正規表現でどうにかならないかなーと考えていましたが、そんな願いが叶いました。 githubに置いてありましたよ! k-talo/foreign-regexp.el ..ということで導入までメモ elispのパスまで移動して、作者に感謝しつつgit cloneで引っ張ってきます。 cd .emacs.d/elisp git clone https://github.com/k-talo/foreign-regexp.el.git 設定ファイルに記述。パスをload-pathに追加して読み込みま

    Emacs正規表現から解放されました。foreign-regexp - Web学び
  • 1