並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 156件

新着順 人気順

正規表現の検索結果41 - 80 件 / 156件

  • HomebrewのCaskリポジトリを介した任意コード実行

    English version is available here: https://blog.ryotak.net/post/homebrew-security-incident-en/ (公式インシデント報告はこちらから読むことができます: https://brew.sh/2021/04/21/security-incident-disclosure/) はじめにHomebrewプロジェクトはHackerOne上で脆弱性開示制度(Vulnerability Disclosure Program)を設けており、脆弱性の診断行為が許可されています。 本記事は、当該制度に参加し、Homebrewプロジェクトのスタッフから許可を得た上で実施した脆弱性診断行為について解説したものであり、無許可の脆弱性診断行為を推奨することを意図したものではありません。 Homebrewに脆弱性を発見した場合は、

      HomebrewのCaskリポジトリを介した任意コード実行
    • 正規表現の勉強で役に立ちそうなリンク

      りゅうりゅう@VBAer × ココナラPRO認定 @blacklist_ryu 書籍「マンガでわかる正規表現」に公開されてた正規表現チェッカーのサイト。 ただ、これは一般的な正規表現で、VBAで使えるのとは違う部分もあるので、ちゅんさんの正規表現関数を流用させていただいて、同様のものをExcelで作成中! ymori.com/regexcheck/ pic.twitter.com/uJhO4DIzPn 2021-03-21 15:39:02

        正規表現の勉強で役に立ちそうなリンク
      • Regex Hunting

        Regex Huntingは、凶悪なモンスターを倒しながら正規表現が学べる学習ゲームです。

          Regex Hunting
        • 文字数のカウントはどれが正解なのか?

          A. ユースケース次第でどう実装すべきかは変わる。Intl.Segmenter が万能というわけでもない。 (クソ最悪な小バズをかましてしまったので、贖罪も兼ねて記事を書きました) 「文字数を数える」のは難しい 「文字数を数える」実装は意外と難しいです。というのも、アルファベットや数字だけなら str.length でも正しく数えられますが、絵文字や異体字などが入った文字列は見た目どおりに数えられません。

            文字数のカウントはどれが正解なのか?
          • 「Excel」に正規表現の新関数が3つ導入へ ~「XLOOKUP」「XMATCH」にも対応予定/まずはデスクトップ版「Excel」で試験導入

              「Excel」に正規表現の新関数が3つ導入へ ~「XLOOKUP」「XMATCH」にも対応予定/まずはデスクトップ版「Excel」で試験導入
            • キャッシュによるRubyの正規表現のマッチングの高速化の紹介 - クックパッド開発者ブログ

              9月からRuby開発チームにインターンシップとして参加している@makenowjustです。 総合研究大学院大学の学生で、普段は情報セキュリティに関する研究をしています。 インターンシップでは、キャッシュ (メモ化) を利用したRubyの正規表現の高速化を行いました。 ReDoSと呼ばれる、バックトラックが爆発することでマッチング時間が膨大になる脆弱性があります (ReDoSについては、拙作ですがWEB+DB PRESSに掲載された記事があります)。 近年、ReDoSは多く報告されており、Rubyもその例外ではありません (参考1、参考2)。 今回実装した最適化は、ReDoSを防ぐことを目的としたもので、多くの正規表現のマッチング時間が文字列の長さに対して線形となります。 ReDoSが起こる正規表現の例として、/^(a|a)*$/が挙げられます。 今回の修正の前後での実行時間を比較すると、

                キャッシュによるRubyの正規表現のマッチングの高速化の紹介 - クックパッド開発者ブログ
              • Perlで\p{Hiragana}とかが記号にマッチする問題 - Qiita

                みなさん、ワンライナーで日本語を簡単に処理したい場合、何を使うでしょうか。 ワンライナーで言語処理といえばPerlですよね[要出展]。 Perlでは、「ひらがな」「カタカナ」「漢字」といった文字にマッチする正規表現を簡単に書くことができます。 例えば、青春→鯖鰆みたいなやつという記事では、漢字にマッチさせるのに\p{Han}という正規表現を使っていました。 $ perl -Mutf8 -CSD -le 'print "漢" =~ m{\p{Han}} ? 1 : 0' 1 $ perl -Mutf8 -CSD -le 'print 1 if "あ" =~ m{\p{Han}} ? 1 : 0' 0 なんてこった。 "「"は明らかに漢字じゃないだろう? 調べてみると、perlunicodeに以下のような記述がありました。 Prior to Perl v5.26, the single for

                  Perlで\p{Hiragana}とかが記号にマッチする問題 - Qiita
                • Goの正規表現が遅いって言う人がいたから、(速い)正規表現エンジンを作ったよ

                  はじめに 「Goの正規表現は遅い」 そんなふうによく言われていました。(最近はあまり聞かなくなりましたが) たとえば、↓の記事ではPythonの正規表現と比較して1.5倍くらい遅いという結果になっています: この話には「Goの正規表現は最悪時間が短くなるように安定したアルゴリズムを採用しているから」という回答があります: ↑の記事の比較では、GoがPerlに対して約10倍以上高速という結果が出ているので、「Goの正規表現は遅くない!はい、論破ー!」というわけですね。 なんでこうなるのかも↑の記事で説明されているとおりですが、Perl(などのバックトラック型エンジン)が入力長に対して指数関数的に実行時間が伸びていくのに対し、Goの正規表現エンジンは入力長に対して線形時間で実行時間が伸びていくアルゴリズムを採用しているため、入力が長くなると急激にGoのほうが有利になるからです: 一方で、入力が

                    Goの正規表現が遅いって言う人がいたから、(速い)正規表現エンジンを作ったよ
                  • Ruby の正規表現で素数かどうかを確認する方法

                    Ruby の正規表現で素数かどうかを確認する方法 作成日 2018.09.11 更新日 2018.09.13 Regex Ruby Ruby の正規表現を使って, 素数かどうかを確認するメソッドを作ってみました. パフォーマンスは正直全然良くないのですが, 余興の様なものとしては面白いのではないかと思います. 正規表現の説明もします. そもそも素数というのは, どの様な数なのでしょうか. Wikipedia によりますと次のように定義されています: 素数(そすう、英: prime number)とは、1 より大きい自然数で、正の約数が 1 と自分自身のみであるもののことである。正の約数の個数が 2 である自然数と言い換えることもできる。 なので 0, 1, 4, 6, 8, 9, 10, 12 といった数は素数ではなく, 2, 3, 5, 7, 11, 13 といった数が素数になります.

                    • プログラム中の文字列抽出機能を自動修正する技術を世界に先駆けて実現~専門知識をもたない開発者でも正規表現の修正が容易に~ | ニュースリリース | NTT

                      日本電信電話株式会社(本社:東京都千代田区、代表取締役社長:島田 明、以下「NTT」)と学校法人早稲田大学(本部:東京都新宿区 理事長:田中愛治 以下、「早稲田大学」)は、情報漏洩やサービス停止の原因となりうる文字列抽出機能の誤りを自動修正する技術を世界で初めて実現しました。Webサービスにおけるユーザの入力値などから任意の文字の並び(文字列)を抽出する場合、一般的に文字列パターンを表すために正規表現(※1)と呼ばれる記法が利用されています。正規表現は複雑な文字列パターンを簡潔に記述可能である反面、非常に難解であり、誤った記述が修正されないまま残っている事例が確認されています。 本技術により、専門知識を持たない開発者でも正規表現の誤りを自動修正することが可能になるため、安全なサービスの実現が期待できます。 本技術の詳細は、2023年6月17日に開催されるプログラミング言語分野の最難関国際会

                        プログラム中の文字列抽出機能を自動修正する技術を世界に先駆けて実現~専門知識をもたない開発者でも正規表現の修正が容易に~ | ニュースリリース | NTT
                      • なぜ正規表現の行頭と行末を表す記号として「^」と「$」が採用されたのか?

                        なぜ正規表現では「^」と「$」という記号を行の先頭・末尾を示す記号として採用したのかという歴史について、ソフトウェアエンジニアのヒレル・ウェイン氏がブログに投稿しました。 Why do regexes use `$` and `^` as line anchors? • Buttondown https://buttondown.email/hillelwayne/archive/why-do-regexes-use-and-as-line-anchors/ 正規表現は「文字列の集合を一つの文字列で表現する方法の一つ」で、例えば「/^G.*/」という一つの文字列を使用して「Gから始まる文字列全て」のようにたくさんの文字列の集合を表現できます。そうした正規表現で使用される文字のうち、「^」は行頭に一致し、「$」は行末に一致する文字となっています。 これら2つの文字はQEDテキストエディタのケ

                          なぜ正規表現の行頭と行末を表す記号として「^」と「$」が採用されたのか?
                        • NTTと早大、誤った正規表現の文字列抽出を自動で修正する技術を発表

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

                            NTTと早大、誤った正規表現の文字列抽出を自動で修正する技術を発表
                          • 正規表現が"$"と"^"をラインアンカーとして採用した理由 | ソフトアンテナ

                            「正規表現」はさまざまなプログラミング言語やアプリケーションから利用できますが、正規表現で使われている「記号」がどのように選ばれたのか不思議に思っている方もいるかもしれません。 今回、正規表現の"$"と"^"が行末・行頭を示すラインアンカーとして選ばれた理由を推測するブログ記事、「Why do regexes use `$` and `^` as line anchors?」が公開され注目を集めています(Reddit)。 記事を作成したコンサルタントのHillel Wayne氏によると、正規表現が最初に登場したのはKen Thompson氏が移植したQEDテキストエディタだとのことです。移植版のQEDエディタのマニュアルには以下のような情報が掲載されています。 b) "^" is a regular expression which matches character at the beg

                              正規表現が"$"と"^"をラインアンカーとして採用した理由 | ソフトアンテナ
                            • JavaScriptで平仮名(ひらがな)を判定する - Qiita

                              regex = /*ここに何らかの正規表現*/; regex.test("あいうえお"); // -> true regex.test("あぁ"); // -> true regex.test("aiueo"); // -> false regex.test("あいueo"); // -> false regex.test("あい うえお"); // -> false

                                JavaScriptで平仮名(ひらがな)を判定する - Qiita
                              • AIだけで新アルゴリズムによる正規表現ライブラリを作ってみた - エムスリーテックブログ

                                こんにちは。今回は、GeminiとClaude 4という2つのAIアシスタントだけを使って、正規表現ライブラリを一から作成した体験をお話しします。 きっかけ:古い理論への興味 驚異的な開発速度:正味数時間で完成 AIアシスタントによる開発プロセス 役割分担の自然な発生 AIによるコード生成の質 学術論文レベルの理論整備 Abstract(概要)の自動生成 先行研究との詳細比較 理論的基盤の文献調査 完成したライブラリの機能 基本機能 高度な機能 AIアシストの革新的側面 1. 理論の現代的解釈 2. 包括的なテスト設計 3. ドキュメント作成の自動化 4. 段階的な機能拡張 開発体験から見えたAIの可能性 驚いたこと 課題として見えたこと 将来への示唆 研究開発の加速 教育への応用 産業応用の可能性 まとめ We are hiring! きっかけ:古い理論への興味 事の始まりは、1964年

                                  AIだけで新アルゴリズムによる正規表現ライブラリを作ってみた - エムスリーテックブログ
                                • TypeScript 5.5 で追加された正規表現構文チェックを理解する

                                  TypeScript 5.5で、@graphemeclusterさんによって正規表現リテラルの構文チェックが導入されました🎉 この構文チェックによって、正規表現に間違いがあった場合、事前にTypeScriptがエラーを出力してくれます。 この機能について、次のことが気になったので調べてみました。 どんな構文がエラーになるか なぜ導入されたか どうやってチェックしているか JavaScriptで実行できるがTypeScriptでエラーになる構文はあるか ESLintとのカバー範囲の違い 本記事に関して、誤り等があれば指摘いただけると嬉しいです。 どんな構文がエラーになるか TypeScript 5.5では、正規表現に関するエラーメッセージが40個程度追加されています。 例えば、下記のような構文は、5.5でエラーになります。 // 存在しないフラグ var re = /a/b; // エラー

                                    TypeScript 5.5 で追加された正規表現構文チェックを理解する
                                  • 論文執筆にも役立つ!? Wordのワイルドカードを使いこなそう!|『人文×社会』の中の人

                                    どうも、『人文×社会』の中の人です。 今回は、Microsoft Wordの便利機能「ワイルドカード」についてご紹介していきたいと思います。 ワイルドカードというと、なんかトランプを連想してしまいますが、実はれっきとした情報処理の用語でもあります。これをマスターすると、論文執筆にも役立てることができます。 ワイルドカードとは? 「ワイルドカード」とは、コンピューター上であるパターンの文字列を検索する時に使う特殊文字のことです。 全角ひらがなや半角英数字といった同じ種類の文字列、「第○回」「○番目」のような同じパターンの文字列は、このワイルドカードを使うと一括で検索することができます。プログラミングでよく使う「正規表現」と似ています。 論文執筆で普段使うMicrosoft Wordの検索・置換機能でも、このワイルドカードを使うことができます。 例えば、以下の文章を見てください。 ここから、「

                                      論文執筆にも役立つ!? Wordのワイルドカードを使いこなそう!|『人文×社会』の中の人
                                    • 'foo@example.com'.match(/\x{email}/) - Qiita

                                      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                        'foo@example.com'.match(/\x{email}/) - Qiita
                                      • 基本的な正規表現一覧

                                        mb_eregi_replace("[\\\]","/",$s);  mb_eregi_replace("(\\\)","/",$s); preg_replace("/\\\/","/",$s);     eregi_replace("[\]","/",$s); str_replace("\\","/",$s);

                                        • 第2回 Pythonの脆弱性 ~ReDOS~ | gihyo.jp

                                          では、なぜこのようなことが起きてしまうのでしょうか。具体的な脆弱性の解説に移る前に、まずはReDoSのしくみについて説明します。 ReDoSのしくみ ReDosの脆弱性を理解するためには、そもそも正規表現によるマッチングを行う処理系である、正規表現エンジンのしくみについて知る必要があります。 正規表現エンジンの概要 正規表現エンジンとは、簡単に言えば「ユーザーから受け取った文字列(入力文字列)が、正規表現で表される文字列と合致するか否か」を判定するプログラムです。そしてこのプログラムのキモとなる「正規表現文字列の解釈」と「入力文字列が合致するか否かを判定する部分」は、「⁠有限オートマトン」を利用して実現しています。 具体的には、正規表現の文字列を有限オートマトンに変換後、入力文字列を有限オートマトンの入力として与え、文字列中に正規表現にマッチする部分があるか否かを、有限オートマトンの状態を

                                            第2回 Pythonの脆弱性 ~ReDOS~ | gihyo.jp
                                          • たった4文字でコード検索の精度がブチあがる正規表現 - Qiita

                                            まだまだ入社1年目、株式会社LIFULLの暴れ回る新卒、 @pal4de です。 正規表現が大好きです。 これは、その中でもとくにお気に入りな正規表現「単語境界 \b」の検索における威力を説き、褒め称える記事です。 「正規表現、まァ基本は一通り勉強したな...」 というあなたにオススメしたい、ステップアップにピッタリなヤツです。 これは何? 改めて、 正規表現パターン \b は「単語境界」を表す記法です1。 Word BoundaryのBですね。 ここでは、「単語」は単語構成文字 \w = [A-Za-z0-9_] の連続と定義します2。 挙動の例 実際の挙動を見てみるとこんな感じ3。 正規表現 検索対象文字列 マッチする位置

                                              たった4文字でコード検索の精度がブチあがる正規表現 - Qiita
                                            • Onigmoのインタプリタをdirect threaded codeに置き換えてCRubyを8%高速化した話 - 開発日記

                                              Ruby言語の正規表現エンジンとしても使われているOnigmo(鬼雲)を高速化したのでその話をします。 Onigmoでは、正規表現のマッチにはバイトコードインタプリタを用いてNFAの実行をしています。バイトコードインタプリタの高速化には古くから知られている技法として、direct threaded codeがあり、この技法を用いればswitch-caseを用いて実装されたインタプリタと比べると間接jumpの除去が行えるなど高速化が期待できます。実際、Onigmoでもswitch-case によるdispatchからこのdirect threaded codeに変えることで高速化しています。 keens.github.io github.com ... と思ったらdirect threaded codeではなく、token threaded codeという実装になっておりました。(ref:

                                                Onigmoのインタプリタをdirect threaded codeに置き換えてCRubyを8%高速化した話 - 開発日記
                                              • 日常でも役立つかも?Web広告運用でも使う「正規表現」の基本 - リスティング広告運用代行ならASUE

                                                こんにちは! ASUE株式会社広報のN村です。 Web広告運用やWebマーケティングに関連した業務をしている方は、一度はどこかで「正規表現」というものを聞いたことがあるのではないでしょうか? 実際に正規表現の表記を一見すると暗号のような不可解な文字列に見えるかもしれませんが、基本的なことを知っておくと日々の業務にも役立つので、簡単にご紹介したいと思います。 ちなみに、わたしは日常でもGmailから特定の文字列を正規表現を使用して抽出→カレンダーやタスクに自動登録していて、例えばこれでチケットの当選→支払のタスク登録を行なったり、ホテルの予約→予約メールから自動でカレンダーへ予定登録などを行なっています。役立ちますね。 正規表現とは? 正規表現とは、文字列のパターンを汎用的に書き表す表記法のことです。主に、文字列の検索や置換などを行うときに使用します。 例えば、「1192年、源頼朝は征夷大将

                                                  日常でも役立つかも?Web広告運用でも使う「正規表現」の基本 - リスティング広告運用代行ならASUE
                                                • 進化した正規表現:JavaScriptの正規表現の歴史と未来 | POSTD

                                                  クイックサマリー:以前は、JavaScriptの正規表現は他の言語の正規表現に比べてパフォーマンスが劣っていたものの、近年改良が重ねられ、他の言語に見劣りしなくなっています。この記事では、Steven Levithan氏がJavaScriptの正規表現の歴史と現状を評価し、より読みやすく、保守性とレジリエンスに優れた正規表現の書き方をアドバイスします。 モダンJavaScriptの正規表現は、皆さんがよく知っている従来の正規表現と比べると随分進化しました。正規表現はテキストを検索して置き換えるツールとして非常に優れている一方で、書くのも理解するのも難しいという根強い評判があります(しかし今から説明するように、この認識は時代遅れかもしれません)。 正規表現に関するこの認識は、JavaScriptに特に当てはまります。PCREやPerl、.NET、Java、Ruby、C++、Pythonといっ

                                                    進化した正規表現:JavaScriptの正規表現の歴史と未来 | POSTD
                                                  • 正規表現検索の効率化

                                                    GMO NIKKOのT.Iです。 今回は当社のTRUE データフィードで使用している正規表現検索の効率化についての記事となります。 前提(背景と目的) まずは宣伝(笑) 当社公式サイトでは上記となっていますが、簡単にいうと ・クライアントからデータを預かる ・預かったデータを広告媒体毎のフォーマットの変換する ・変換したデータを指定された場所に送信する ということをやっています。 その中のデータの変換時に禁止文言が入ったデータを行ごと除外するということをやっています。 大量のデータに禁止文言が入っているかをチェックする必要があるのですが、 初期想定では精々10万件に対して100~1000個の禁止文言をチェックする程度(1億回程度)で十分と判断していました。 ですが運用後に禁止文言が3万を超えてしまい、チェック処理が10万件×3万=30億回のチェックを行う場合があり、処理時間がかなり長くなっ

                                                      正規表現検索の効率化
                                                    • 正規表現とは何なのか、makenowjustが正規表現に興味を持ったきっかけ。深掘りRubyKaigi 2023 with spikeolaf & makenowjust 文字起こしレポート vol.1 - STORES Product Blog

                                                      2023年6月15日に『深掘りRubyKaigi 2023 with spikeolaf & makenowjust』を開催しました。イベントの内容をほぼ全文文字起こし形式でお届けします。この記事は第1部です。 hey.connpass.com イベントのアーカイブはYouTubeでも公開しています。 www.youtube.com 登場人物 ゲスト makenowjust/藤浪 大弥さん spikeolaf/金子 雄一郎さん STORES fujimura/藤村 大介 shyouhei/卜部 昌平 hogelog/小室 直 正規表現に興味を持ったきっかけ fujimura:最初は藤浪さん、makenowjustさんに正規表現の発表について伺おうと思います。まずは改めてRubyKaigi 2023でどんなことを発表したかを紹介いただけないでしょうか? makenowjust:Rubyの正規

                                                        正規表現とは何なのか、makenowjustが正規表現に興味を持ったきっかけ。深掘りRubyKaigi 2023 with spikeolaf & makenowjust 文字起こしレポート vol.1 - STORES Product Blog
                                                      • 先読みと後読みを使ったパターン

                                                        正規表現ではパターンが対象の文字列とマッチするかどうかをチェックしますが、先読みや後読みでは文字列とマッチするかどうかは調べるけれどマッチした文字列としては取得しません。先読みと後読みでは利用方法に応じて、肯定先読み、否定先読み、肯定後読み、否定後読み、の 4 種類が利用できます。ここでは正規表現における先読みと後読みを使ったパターンの利用方法について解説します。

                                                          先読みと後読みを使ったパターン
                                                        • ゼロからはじめるPython(78) Pythonの正規表現を使って200個のファイルをフォルダ分けしよう

                                                          正規表現を使ったパターンマッチはとても便利なのだが、なんだか難しそうというイメージを持っていないだろうか。正規表現はワイルドカードを拡張したものと考えて基本だけを覚えるだけでも、いろいろな場面で活用できる。今回は、正規表現を使って大量ファイルの自動分類に挑戦してみよう。 正規表現でファイルをフォルダに分類したところ 正規表現とは? 正規表現とは文字列を特殊なパターンを使って表現するものだ。ファイル操作に使うワイルドカードを拡張したものと言えば分かりやすいだろうか。今や、正規表現は大抵のテキストエディタに実装されていることもあり、正規表現を覚えるなら、Pythonのプログラミングだけでなく、日々のあらゆる場面で役立つとも言える。 なお、以前本連載の33回目でも正規表現について紹介したが、今回はPythonでファイルを分類する目的のため、基本の基本に絞って紹介しよう。 Pythonで正規表現を

                                                            ゼロからはじめるPython(78) Pythonの正規表現を使って200個のファイルをフォルダ分けしよう
                                                          • GitHub - yoav-lavi/melody: Melody is a language that compiles to regular expressions and aims to be more readable and maintainable

                                                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                              GitHub - yoav-lavi/melody: Melody is a language that compiles to regular expressions and aims to be more readable and maintainable
                                                            • HTML 仕様のメールアドレス正規表現に最小限の修正を加える - Qiita

                                                              Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                                                HTML 仕様のメールアドレス正規表現に最小限の修正を加える - Qiita
                                                              • 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

                                                                • textlintへのルール追加に必要な正規表現を、やさしく解説してみた - SmartHR Tech Blog

                                                                  こんにちは、UXライターのkunyです。3月にスケボーを始めて、最近チックタックができるようになりました。 さてSmartHRでは、textlintに独自のルールプリセットを追加して利用しています。ルールプリセットはオープンソースで公開しており、継続的にルールを追加しています。 さて、そのルール追加の際に正規表現の知識が必要なのですが、「正規表現、マジ難しい...」と感じています。「う〜ん」と唸りながらルールを追加することも多いです。 そこで自分の勉強も兼ねて、textlintへのルール追加の際に必要な「基本的な正規表現」を、実例とセットでまとめてみました。「ブログ書くぞ〜」と宣言したところ、少数ながらも「いいね」をいただき、需要あるかも?と思っています。感想やフィードバックを、Twitterでつぶやいていただけると嬉しいです。 textlintのルール作りに必要な正規表現、というタイトル

                                                                    textlintへのルール追加に必要な正規表現を、やさしく解説してみた - SmartHR Tech Blog
                                                                  • 正規表現を豊かにする ES2024 RegExp v (unicodeSets) フラグ

                                                                    【2023/05/17 変更】 2023年5月の TC39 会議で Stage 4 になったため、タイトルを変更 HTML Standard の pattern 属性に取り込まれたので修正 ES2024 RegExp v (unicodeSets) フラグ ES2024 に RegExp v (unicodeSets) フラグというものがあります。これは既存の u (unicode) フラグを改善して置き換え、機能追加することを目的としています。 詳しい内容については V8 や 2ality による解説記事が詳しいです。ここではその概要をピックアップして述べたいと思います。 複数のコードポイントからなる絵文字の対応(Unicode Properties of Strings) ES2015 に u (unicode) フラグが導入され、コードポイント単位で正規表現を扱えるようになりました。

                                                                      正規表現を豊かにする ES2024 RegExp v (unicodeSets) フラグ
                                                                    • 「Ruby 3」系統の正規表現コンパイラーに情報漏えいの脆弱性、修正版がリリース/v3.0.7、v3.1.5、v3.2.4、v3.3.1への更新を

                                                                        「Ruby 3」系統の正規表現コンパイラーに情報漏えいの脆弱性、修正版がリリース/v3.0.7、v3.1.5、v3.2.4、v3.3.1への更新を
                                                                      • The unreasonable effectiveness of f‍-‍strings and re.VERBOSE

                                                                        ... in which we look at one or two ways to make life easier when working with Python regular expressions. tl;dr: You can compose verbose regular expressions using f‍-‍strings. Here's a real-world example – instead of this: 1pattern = r"((?:\(\s*)?[A-Z]*H\d+[a-z]*(?:\s*\+\s*[A-Z]*H\d+[a-z]*)*(?:\s*[\):+])?)(.*?)(?=(?:\(\s*)?[A-Z]*H\d+[a-z]*(?:\s*\+\s*[A-Z]*H\d+[a-z]*)*(?:\s*[\):+])?(?![^\w\s])|$)"

                                                                        • 正規表現でmasawada - hogashi.*

                                                                          masawada Advent Calendar 2021 - Adventar 10日目の記事です。昨日の id:Sixeight さんに見事に釘を刺されてしまったので、ありがたく受け取り、whywaita Advent Calendar 2021 - Adventarはこちらに書きました → 秘蔵UserCSS大放出祭 - hogashi.*。大目に見てください! id:masawada / id:whywaita Advent Calendar 七五三おめでとうございます。 7, 5, 3 と素数ですね*1。ゴルゴ13が好きな id:hogashi です。 七五三は 11月 15日にやるそうです。 11 は素数だし、 15 は 3+5+7 ですね。 3×5 でも 15 になります。 能では、 7歳ごろから稽古を始めるので、このあたりを初心というそうで*2、世阿弥曰く、このころに自然に

                                                                            正規表現でmasawada - hogashi.*
                                                                          • Speeding up the JavaScript ecosystem - one library at a time

                                                                            Whilst the trend is seemingly to rewrite every JavaScript build tool in other languages such as Rust or Go, the current JavaScript-based tools could be a lot faster. The build pipeline in a typical frontend project is usually composed of many different tools working together. But the diversification of tools makes it a little harder to spot performance problems for tooling maintainers as they need

                                                                              Speeding up the JavaScript ecosystem - one library at a time
                                                                            • 正規表現:文字列を「含まない」否定の表現まとめ | WWWクリエイターズ

                                                                              「〜を含まない」といった、否定の意味を持つ正規表現を記述する場合、下記のように、大きく分けて2種類のケースがあります。 「特定の1文字を含まない」といった否定表現か、もしくは「正規表現パターンを含まない」といった表現かで、大きく解決の方針が異なる点に注意して下さい。 特定の1文字だけを否定したい場合は非常にシンプルです。この場合、「文字クラス」、もしくはエスケープシーケンスで表される文字型を利用する事で表現できます。 一方で、特定の正規表現パターンを否定したい場合、少し記述が複雑になります。今回は「否定先読み」を利用した表現を、この記事の後半にご紹介します。 基本的な正規表現の記法はこの記事では触れませんので、不安な方はこちらの記事も合わせてご参照下さい: 正規表現とは?基本構文とメタ文字一覧(サンプル付) それでは、順番に詳しく見ていきます。 任意の一文字を含まない文字列の正規表現 a「

                                                                              • GitHub - hedhyw/rex: Flexible regular expressions constructor for Golang.

                                                                                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                                  GitHub - hedhyw/rex: Flexible regular expressions constructor for Golang.
                                                                                • とほほの正規表現入門 - とほほのWWW入門

                                                                                  正規表現とは 正規表現の落とし穴 本書における記法 文字・文字列 文字(A) 文字列(ABC) 任意文字 任意文字(.) 行頭・行末 行頭(^) 行末($, \z, \Z) いずれかの文字 いずれかの文字([...]) グルーピング グルーピング((...)) AまたはB AまたはB(A|B) 繰り返し 0回以上の繰り返し(*) 1回以上の繰り返し(+) 0回または1回(?) n~m回の繰り返し({n}, {n,}, {n,m}) 最短マッチング 最短マッチング(0回以上)(*?) 最短マッチング(1回以上)(+?) 最短マッチング(0回か1回)(??) 最短マッチング(n~m回)({n,m}?) エスケープシーケンス メタ文字(\x) 制御文字(\x) 文字コード(\xxx, \xxx) 定義済み正規表現 定義済み正規表現(\x) キャプチャグループ キャプチャグループ(\1, \2,