タグ

regexとRegExに関するhiroomiのブックマーク (27)

  • Power Automateで正規表現でパターン検索を行う方法!

    リライブシャツすごすぎワロタwwwwww【リライブシャツを買ってみたらガチだった。】 リライブシャツ 着るだけで「身体機能をサポートする」怪しいシャツがガチだった。 YouTubeやSNSでバズってた「リライブ...

    Power Automateで正規表現でパターン検索を行う方法!
  • Ota Hirofumi on Twitter: "Power Automate を利用して、文章から正規表現にマッチしたものを抜き出す処理を、Office Scripts を利用して実現するとは良いアイデア! How to use RegEx in Microsoft Powe… https://t.co/qnwGKM4b0m"

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

  • 正規表現の"正規"とは何か気になったら正規表現の歴史を紐解くことになってしまった話

    正規表現の"正規"って何 ある時ふと思いました。 「正規表現の"正規"って何だろう?」 「何を根拠に"正規"を名乗っているのか?」 と。 「誰かが『これが正規の表現だ』と言ったはず」で、 「それは周りにどうやって"正規"だと認められたのだろう」 ということが気になったので調べてみました。 "正規表現"という名前でなくて、"ジャックさんの表現"とか"記号ごちゃごちゃ表現"だったらこんな疑問も持たなかったのですけど。 数学における"正規"とは 一般に"正規"というと、"正規品"や"正規の手順"といったように"物の(genuine)"や"公式な(official)"といった意味がありますが、数学の"正規"はちょっと違います。 数学で"正規"(および"正則"、英語では"regular"または"non-singular")は、ある概念に強い制限をかけたもの、という意味です。強い制限をかけたものは取

    正規表現の"正規"とは何か気になったら正規表現の歴史を紐解くことになってしまった話
  • 心のバリアを取り去って「正規表現」に取り組む一歩を踏み出すためのメモ|DTP Transit 別館

    長年、後回しにしてきた「正規表現」。四の五の言わずにはじめようよ!と20年前の自分に伝えたく、まとめてみました。 詳しい方が見ると、乱暴だったり、おかしなところがあると思いますが、入り口に立つことが大切だと考えています(書いた人は文系・グラフィックデザイン関連です)。 はじめにたとえば、文章中に「コンピュータ」と「コンピューター」が混在していて、これを「コンピューター」に統一したいとき、あなたなら、どうしますか? 単純な検索置換なら、次のような順番で処理できます。 ❶「コンピューター」を「コンピュータ」に一括置換する ❷「コンピュータ」を「コンピューター」に一括置換する ❸ ちょっと心配なので「ーー」(音引きの繰り返し)をチェック これはこれでアリなのですが、1回の作業でできたらベターです。 しかし、「コンピュ-タ」のように正しく音引き(ー)が入力されていない場合には単純な検索置換ではお手

    心のバリアを取り去って「正規表現」に取り組む一歩を踏み出すためのメモ|DTP Transit 別館
  • RegEx Crossword

    It's a crossword puzzle where you need to fill in the hexes with character sequences, so that they match the regular expressions listed around the edges. The individual clues will turn bold purplebold green when satisfied, orangered when not, and underlined when active. Note that the regex must be a full match, and empty cells are treated as spaces. Double click a rule to edit it. When finished, p

  • 正規表現エンジンを作ろう (3)

    正規表現は、特に文字列操作が中心となるWEB分野におけるプログラミングにおいて、なくてはならない重要な機能です。稿では正規表現を解釈するエンジンを実際に実装し、正規表現エンジンがどのように動いているのかを解説します。第3回は、実装するDFAエンジンが扱う文法を解釈するコンパイラを作成します。 はじめに こんにちは。hirataraです。 前回はDFAエンジンの仕様を明らかにし、DFAとNFAをPythonで実装しました。今回は、実装するDFAエンジンが扱う文法を解釈するコンパイラを作成します。 対象読者 正規表現をもっと知りたい方 情報科学分野に興味がある方 正規表現エンジンを実装する必要がある方 正規表現のコンパイル 前回、正規表現の仕様の中で正規表現の文法を定めました。これから、この文法を解釈できるコンパイラを作成します。コンパイラの仕事は、文字列を解釈して計算機が扱いやすいデータ方

    正規表現エンジンを作ろう (3)
  • あなたの知っている正規表現はもう古い! 正規表現の新常識(ES2018編) - Qiita

    2018年1月23日から25日にかけて、TC39の第62回ミーティングが行われました。TC39のミーティングでは、提案されているECMAScriptの新機能 (proposal) について審議し、各proposalのステージの移動を決定します。 今回のミーティングでは正規表現に関する幾つかのproposalがStage 4になりました。Stage 4になったproposalはES2018に組み込まれ、JavaScript (ECMAScript) に正式採用ということになります。 この記事では、JavaScriptに追加された正規表現の4つの新機能を紹介します。 s (dotAll) flag for regular expressions Proposal: https://github.com/tc39/proposal-regexp-dotall-flag 正規表現の新たなフラグとし

    あなたの知っている正規表現はもう古い! 正規表現の新常識(ES2018編) - Qiita
  • よく使う正規表現はもうググりたくない! - Qiita

    タイトル通りによく使う正規表現を毎回ググるのが効率悪いのでまとめてみました。各言語で正規表現のサンプルを書いてみました。 正規表現式 Emailアドレス ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ ドメイン名 ^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]\.[a-zA-Z]{2,}$ インタネットURL ^(http|https)://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ユーザー名 (Twitter username) ^[a-zA-Z0-9_\-.]{3,15}$ 固定電話 ^0\d-\d{4}-\d{4}$ 携帯電話 ^(070|080|090)-\d{4}-\d{4}$ IP電話 ^050-\d{4}-\d{4}$ フリーダイヤル ^0120-\d{3}-\d{3}

    よく使う正規表現はもうググりたくない! - Qiita
  • 普通のパズルではない「正規表現クロスワード」がBBCラジオに登場

    文章によるヒントを元にタテヨコに交差したマスに言葉を当てはめてマスを埋めていく「クロスワードパズル」のヒント部分を正規表現にした「正規表現クロスワード」なるものがBBCラジオの「Puzzle for Today」(今日のパズル)に登場しました。 BBC Radio 4 - Today - Puzzle for Today http://www.bbc.co.uk/programmes/articles/5LCB3rN2dWLqsmGMy5KYtBf/puzzle-for-today 2017年7月5日の今日のパズルがこれ。クロスワードパズルですが、マスを埋めるためのヒントが正規表現という、一見すると暗号のようになってます。 例えば、0行目の記載は「[^XZVCHFJLQM]+」。正規表現のルールでは、「^」は「それ以外」を、「[]」は「任意の文字」を、「+」が「前の文字の繰り返し」を意味す

    普通のパズルではない「正規表現クロスワード」がBBCラジオに登場
    hiroomi
    hiroomi 2017/07/08
    tai体験学習によさそ
  • perlretut - Perl の正規表現のチュートリアル - perldoc.jp

    This page provides a basic tutorial on understanding, creating and using regular expressions in Perl. It serves as a complement to the reference page on regular expressions perlre. Regular expressions are an integral part of the m//, s///, qr// and split operators and so this tutorial also overlaps with "Regexp Quote-Like Operators" in perlop and "split" in perlfunc. このページでは Perl の正規表現(regular exp

    hiroomi
    hiroomi 2017/04/04
    “ /[^a]at/; # 'aat' や 'at' にはマッチングしないが、その他の # 'bat', 'cat, '0at', '%at' などにはマッチングする”
  • 手を動かしながら覚える正規表現<リファレンス>

    基礎入門編と置換処理編で正規表現について説明しました。ここではこれまでに登場した正規表現を整理してまとめています。一部登場していないものも含まれています。 正規表現について詳しく知りたい方には「詳説 正規表現」(通称フクロウ)がお勧めです。

  • 正規表現サンプル集

    直前のパターンの0回以上繰り返し(最長一致) 例1)ABC* → AB、ABC、ABCCCCCC などにマッチ 例2)b.*k → bから始まってkで終わる2桁以上の文字列

  • 正規表現:悪い表現、いい表現、最良の表現 | POSTD

    わずかな文字がいかにしてパフォーマンスに大きな違いを生めるかというお話 正規表現は、私たち開発者がことあるごとに駆使する呪文のようなものですが、私たちはそれをどんな時も巧みに使いこなしていると言えるでしょうか。正規表現は繊細で精密な言語です。入念な慎重さで記述してやれば、ボウリングで一瞬にして完璧なストライクを取るような強力なテキストとなり得ます。 しかし、正規表現が精密さに欠ける状態で投げ出されると、さながら酔っ払いがよろよろとつまずきながらテキストの上を歩くがごとく、そのボールはぎこちなくボウリングのレーンを転がり、ピンを1つか2つ倒すだけで終わってしまうのです。 これら2つの正規表現の違いは何なのか。何がいい表現と悪い表現を分けるのか。正規表現に素晴らしい力を与えるメカニズムを、この投稿で明かしてみようと思います。効果的な表現とそうでない表現との大きな違いをきっと分かってもらえるはず

    正規表現:悪い表現、いい表現、最良の表現 | POSTD
  • VBAで正規表現を利用する(RegExp)|VBA技術解説

    公開日:2013-06-26 最終更新日:2021-06-02 VBAで正規表現を利用する(RegExp) 正規表現は複雑なパターンマッチングとテキストの検索置換するためのツールです、 マクロVBAで正規表現を使う場合はRegExpオブジェクトを使用します、 RegExpは、VBScriptに正規表現として用意されているオブジェクトです。

    VBAで正規表現を利用する(RegExp)|VBA技術解説
    hiroomi
    hiroomi 2013/11/13
    “VBAで正規表現を使う場合はRegExpオブジェクトを使用します”
  • 正規表現をいまのうちに覚えておきたい人のためのリソース集

    HTML5で正規表現がサポートされる、といったことをきっかけに、正規表現はプログラマだけでなくWebクリエイター全体のスキルとして求められていくものになっていくのではないでしょうか(参考:あまり知られていないけれど、HTML5では正規表現が使えるようになる )。 ここではそうした正規表現の初学者や、一度挫折したけど再入門したい人、そしてより高度な内容をマスターしたいすべての人のためのリソース集を作りました。 初学者向けには「はじめての正規表現」 「はじめての正規表現」は、文字通り正規表現という言葉は知っていても中味はよく分からない、という初学者の方にぴったりのコンテンツ。紙芝居形式のプレゼンテーションで楽しく正規表現について把握できます。 はじめての正規表現 初学者の方には、次の2つの記事も手っ取り早く読めて概要を把握できますので紹介しておきます。 使うほどに良さが分かる正規表現(1/2)

    正規表現をいまのうちに覚えておきたい人のためのリソース集
  • 正規表現(RegExp) - とほほのWWW入門

    正規表現オブジェクトを生成します。正規表現オブジェクトは、文字列のパターンマッチングを行う際に用いられます。次の例は、match() を用いて文字列 str が "DEF" という文字列を含んでいるかどうかを検査します。flags の詳細は フラグ を参照してください。

  • VBScriptで学ぶ正規表現使用時の指針

    この書式で作成された regEx オブジェクトは、検索時の動作をコントロールする為の重要なプロパティを 二つ持っています Global プロパティ IgnoreCase プロパティ Global プロパティは、True または False の値を取り、デフォルトは False です。これは、検索を最後まで 対象がなくなるまで行なうか、最初の一致でやめるかどうかを指定する値です。ですから、通常は True に 設定し、全ての対象文字列を検索させます IgnoreCase プロパティは、その名の通り大文字小文字を区別しない為のプロパティです。これも規定値は False なので、区別しない時は必ず True に設定する必要があります

  • VBSで正規表現を使用する|VBScript Tips

    VBS で正規表現を使用する Javascript でおなじみの正規表現を VBScript で使用する方法です。 正規表現による Visual Basic Scripting Edition (VBScript) の機能強化で、細かな条件で検索や処理が可能になります。 詳細は下記マイクロソフトページをご覧下さい。 http://www.microsoft.com/japan/msdn/columns/scripting/scripting051099.asp VB の場合、Microsoft VBScript Regular Expressions への参照を追加する必要があります。 文字列の中に半角英数字以外が含まれているかどうか確認する関数の例 Function blnCheck(strLen) Dim objRE Set objRE = new RegExp objRE.Ignor

  • Tips - ステップアップWSH

    Level.4では、読み込んだテキストファイルの内容を、全て1つのメッセージボックスに詰め込んで表示してみました。Level.5では、いよいよ検索機能を付加し、指定の文字列を含む行だけを表示させるように修正してみます。また、「ファイル一覧表示」の機能は不要なのでこれも取り払います。 ■ テキストファイルを読み込んで検索文字列を含む行のみを表示する まずスクリプトの流れを説明しますと、ファイル名ループで取得した一つ一つのテキストファイルについて、その内容を全部読み込み、連結して、1つのメッセージボックスの中に表示します。これを、ファイル数分繰り返し、最後にLevel.3までと同様に、ファイル名一覧とフォルダ一覧を表示する、という流れになっています。 ■ level05.vbs 001 002 003 004 005 006 007 008 009 010 011 012 013 014 01