Movatterモバイル変換


[0]ホーム

URL:


はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

タグ

関連タグで絞り込む (6)

タグの絞り込みを解除

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

  • NTTと早大、誤った正規表現の文字列抽出を自動で修正する技術を発表

    印刷する メールで送る テキストHTML電子書籍PDF ダウンロード テキスト電子書籍PDF クリップした記事をMyページから読むことができますNTTと早稲田大学は6月16日、誤った正規表現の文字列抽出を検出して自動的に修正する技術を世界で初めて実現したと発表した。同17~22日に開催される「PLDI2023」で詳細を報告するという。 今回開発した技術は、多様なバリエーションを扱うことからあいまいさのない正確な記述が求められる正規表現の文字列抽出において、誤った記述を検出し自動的に修正する。NTTは、正規表現によるパターンの確認を実施するプログラムの振る舞いとして、「ECMAScript2023」に完全準拠した正規表現エンジンの振る舞いを理論モデルとして厳密に定義し、この理論モデルに従って修正結果となる正規表現に誤りがないことを保証する条件を生成する方法を提案した。 さらに、

    NTTと早大、誤った正規表現の文字列抽出を自動で修正する技術を発表
    • 正規表現入門決定版 - Qiita

      このように真ん中4桁の数字が--で囲まれている番号と()で囲まれている番号がありますね。 正規表現を使えば、この電話番号の集合から先頭が000かつ()が使われている番号を一括で検索することができます。 この例では電話番号の数が少ないのであまりメリットを感じられないかもしれませんが、これがもっと多かったときに正規表現の威力を感じることができます。 もう一つ例を挙げてみましょう。 以下は渋谷区役所、新宿区役所、世田谷区役所の住所になります。 正規表現を使えばこれらの郵便番号や「東京都」、「〜〜区」の箇所を一気に置換することが可能です。 実際にVSCode郵便番号を正規表現で検索し、一気に置換する様子を確認してみましょう。 下図の右側に上記の住所があります。 それぞれの郵便番号を117-4649にまとめて置換していることが確認できますね。 2-2. 正規表現とは 正規表現(せいきひょうげん、英

      正規表現入門決定版 - Qiita
      • 正規表現の脆弱性 (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) と呼ばれる脆弱性です。正確に理解するのが難しい脆弱性なので、少し解説してみたいと思います。 結論 長い記事になるので、最初に「とりあえずこれだけ知っ

        • 正規表現でPHPを脆弱にする (1) 「^ と $」 - Qiita

          みなさん正規表現は好きですか? 私は好きです。簡単に脆弱性を作り込めて、とても便利ですからね。 この記事ではPCRE関数(preg_match(), preg_replace()など)を利用して、みなさまにPHP正規表現のバッドノウハウを教示いたします。 先に結論を書きます 単独の文字列のマッチに $ を用いるのは予期しないパターンになるのでやめましょう。^は特に危険ではありませんが、^と$の組み合せではなく**\Aと\zの組み合せ**を覚えましょう。ただし、m修飾子で複数行(マルチラインモード)で、行頭と行末にマッチさせたい場合を除きます。 文字列のマッチに ^ と $ のペアを利用する そうですね、例としてQiitaのようなユーザー登録サイトの表示名 @tadsan のような文字列を登録する前の検査をするとします。 要件としては、使用可能な文字は abcdefghijklmnopqrs

          正規表現でPHPを脆弱にする (1) 「^ と $」 - Qiita
            • regex101: build, test, and debug regex

              An explanation of your regex will be automatically generated as you type.

              regex101: build, test, and debug regex
              • Twitterの日本語ハッシュタグ抽出する正規表現 · Real Beat

                正式に日語ハッシュタグが使えるようになったので、色々ためした結果、以下の正規表現でほぼ公式と同じ動作になった。「ほぼ」なのはちゃんとテストしたわけじゃないので。使うなら自己責任でどうぞ。 sourcecode language=“text”([a-zA-Z0-9_\u3041-\u3094\u3099-\u309C\u30A1-\u30FA\u3400-\uD7FF\uFF10-\uFF19\uFF20-\uFF3A\uFF41-\uFF5A\uFF66-\uFF9E]+) ```iPhoneの公式クライアントだとなんか動きが違ったりするし、half-widthのカタカナ半濁点はだめだったりとかなんかバグなのか仕様なのかよくわからず。半濁点も通すようにしたければ、FF9EをFF9Fにすればおk。 Tweet

                • 正規表現を解析して可視化してくれるサイトが凄すぎる件

                  ある正規表現に対して、特定の文字列がマッチするかどうかをチェックするツールやサイトは沢山ありますが、正規表現そのものが何を意味しているのか、どんな文字列を期待しているのかを解析・解読・説明してくれるツールやサイトってなかなか見ない気がします。 他人の書いた正規表現を見て、「ん?」ってなったことはありませんか? 例えばこれ。 1 ^[a-zA-Z0-9-_.]@([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,4}$ これくらいなら分かりますが、複雑になってくるとつらい… いつかはマスターしたいけど…今は楽したい。 そう思ってググってみると…ありました! それがこちら。 Regexper http://www.regexper.com/ 正規表現を入力して Display をクリックすると、その正規表現が表す内容を図にして表示してくれます。 例えば先程の正規表現は、当記事の一番上の

                  正規表現を解析して可視化してくれるサイトが凄すぎる件
                  • 正規表現入門 星の高さを求めて

                    第13回日情報オリンピック(JOI2013/2014)春季トレーニング合宿での講義資料です. http://www.ioi-jp.org/camp/2014/2014-sp_camp-rules.html 【概要】 正規表現とはパターンマッチングのための記法であり,文字列検索の便利な道具として広く親しまれています.この講義では,正規表現の基礎から始め,「星の高さ」という性質に注目して正規表現の裏側に潜む数理構造に迫っていきます.1960年代から未解決である「星の高さ問題」に浪漫を感じてもらえると幸いです.

                    正規表現入門 星の高さを求めて
                    • 正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう

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

                      • プログラミング言語における正規表現リテラルの必要性について

                        Twitterに書いたことのまとめです。 プログラミング言語の仕様の一部として正規表現リテラルを提供することの得失について、JavaScriptを例に説明します。 ■より簡潔なコード 言うまでもありませんが、正規表現リテラルを使った方が簡潔なコードになります。 (new RegExp("abc")).exec(s) // リテラルを使わない場合 /abc/.exec(s) // リテラルを使った場合 また、正規表現リテラルがない場合は、文字列リテラルとしてのエスケープと正規表現としてのエスケープが二重に必要になる結果、コードの保守性が低下します注1。 new RegExp("\\\\n"); // リテラルを使わない場合 /\\n/ // リテラルを使った場合 ■エラー検出タイミング 正規表現リテラルがない場合、実際にその正規表現が評価されるまで記述エラーを検出することができません。正規表

                        • Site Under Maintenance

                          We'll be back soon! Our site is currently undergoing maintenance. Please check back later.

                          Site Under Maintenance
                          • PHPで仮想マシンベースの正規表現エンジンを作ってみる 第一回

                            こんにちは、久保田です。 皆さん正規表現は使っていますか?PHPに限らずどんな言語を使っていても、正規表現にお世話になっていないプログラマはいないと思います。しかし、その正規表現がどのように実装されているかについては知らない方が多いのではないのでしょうか。 この記事では、その正規表現エンジンの実装方法の一つである仮想マシンによる正規表現エンジンの実装方法を解説しつつ実際に簡単な正規表現エンジンを作っていきたいと思います。 正規表現エンジンの実装方法 正規表現エンジンの実装方法はいくつかあるのですが、それの一つに仮想マシンによって正規表現のマッチング処理を実行するやり方があります。PHPで利用している正規表現エンジンであるPCREはこの方式を採用しています。 仮想マシンによる実装方法は、正規表現というよりもプログラミング言語の実装方法の一つとして知られています。Rubyの最もメジャーな実装

                            PHPで仮想マシンベースの正規表現エンジンを作ってみる 第一回
                            • 正規表現と文字列がマッチしているか簡単にチェックできるオンラインツール -RegExp playground

                              正規表現と文字列を入力し、それがマッチしているかどうか簡単にチェックできるオンラインツールを紹介します。 NGの画面 正規表現のチートシート ページ下部にあるチートシートから。 . 任意の文字にマッチする(改行を除く) {n} n回の繰り返し {n,} n回以上の繰り返し {n, m} n回以上m回以下の繰り返し ? {0,1}と同じ * {0,}と同じ + {1,}と同じ \w アルファベット、数字またはアンダーバー、[a-zA-Z0-9_]と同じ \d 数字、[0-9]と同じ \s 空白文字、[\t\r\n ]と同じ […] キャラクタをクラス化 [^...} キャラクタを否定クラス化 (…) パターンのグループ化 (?:…) パターンの非格納グループ化 (?=…) 先読み (?!…) 否定先読み ^ 行の先頭にマッチする $ 行の終端にマッチする \b 単語境界にマッチ \B 単語境

                              • PHP の正規表現があまりに複雑なのでまとめてみた - A Day in Serenity @ kenjis

                                できるだけ正確な記述を目指していますが、誤りがありましたら、お知らせ願います。 (最終更新: 2013/3/29 11:22) 正規表現の種類 まず、PHP には以下の 3種類の正規表現があります。Perl 互換の正規表現 (pcre) mbstring の正規表現 (mbregex) POSIX 拡張正規表現 (regex) このうち、regex は バイナリセーフでない 日語は扱えないPHP 5.3 で非推奨 なので使わない方がいいでしょう。見つけたら、随時pcre か mbregex で書き直しましょう。Perl 互換の正規表現 (pcre) 正規表現エンジンはPerl の「PCRE」 日語はUTF-8 のみ扱えるUTF-8 を使う場合は、パターン修飾子に u を指定する 文字クラスはロケールの影響を受けるPHP: 文字クラス - Manual 処理の制限値 (p

                                PHP の正規表現があまりに複雑なのでまとめてみた - A Day in Serenity @ kenjis
                                • Regexper

                                  Regular expression visualizer using railroad diagrams

                                    • 制作会社で働く人向け「はじめての正規表現」 - あと味

                                      制作会社で働いてると、ディレクターやライターであればライティング作業をすることがあるし、マークアップエンジニアであればHTMLCSSを処理するし、プログラマーであればコードを書きます。 制作会社に勤めていれば全員何らかの形で、文字列を扱うことになります。 そんな時に正規表現という超強力な文字列処理のテクニックを身につければ、今以上に作業がはかどるし、いろんな問題が解決するのかなーと思い、先週1時間弱の勉強会を開催しました。プログラマーは普段から使ってるんですけど、なかなか他の部門の人に紹介する機会がないのが現状だったので、多少なり役立ったんじゃないかと思ってます。 せっかくなので、その勉強会で使ったスライドを動画にしてニコニコ動画にアップしたので、ご紹介します。*1 ついでにウェブページ形式にもしてみました。 はじめての正規表現 って中の人が言ってました。 追記:Twitterのフォ

                                      制作会社で働く人向け「はじめての正規表現」 - あと味
                                      • 正規表現の問題集1(基本編)

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

                                        正規表現の問題集1(基本編)
                                        • 残りのブックマークを読み込んでいます1

                                        お知らせ

                                        公式Twitter

                                        • @HatenaBookmark

                                          リリース、障害情報などのサービスのお知らせ

                                        • @hatebu

                                          最新の人気エントリーの配信

                                        処理を実行中です

                                        キーボードショートカット一覧

                                        j次のブックマーク

                                        k前のブックマーク

                                        lあとで読む

                                        eコメント一覧を開く

                                        oページを開く

                                        はてなブックマーク

                                        公式Twitter

                                        はてなのサービス

                                        • App Storeからダウンロード
                                        • Google Playで手に入れよう
                                        Copyright © 2005-2025Hatena. All Rights Reserved.
                                        設定を変更しましたx

                                        [8]ページ先頭

                                        ©2009-2025 Movatter.jp