並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 21 件 / 21件

新着順 人気順

正規表現の検索結果1 - 21 件 / 21件

  • サクラエディタでよく使う正規表現たち【備忘録】 - Qiita

    よくお世話になっている正規表現ですが、毎日使うものでもないので、なかなか覚えることができず。。。 使う度に検索するものもあるので、自分のための正規表現備忘録を作成することにしました。 データ整理などに使っているだけなので、偏りがあるかもしれません。 全角文字だけ

      サクラエディタでよく使う正規表現たち【備忘録】 - Qiita
    • スラッシュの有無だけでセキュリティにとんでもない大穴が空いてしまうNginxのありがちな設定ミスについて実例を踏まえて専門家が解説

      多機能なウェブサーバーとして2004年に登場したNginxは、2023年6月時点では業界トップシェアとなるほど人気を集めるサーバーです。そんなNginxの設定において、スラッシュを一つ付けるか付けないかの差で大きなセキュリティホールができてしまう問題について、大手パスワードマネージャーやGoogle製のツールの例をとりあげてセキュリティアナリストのダニエル・マツモトさんがブログで解説しています。 Hunting for Nginx Alias Traversals in the wild https://labs.hakaioffsec.com/nginx-alias-traversal/ Nginxの設定には、特定のURLへのアクセスをどう処理するべきかを記述できる「location」というディレクティブが存在しており、URLをサーバー内のファイルに対応させるのによく利用されています。例

        スラッシュの有無だけでセキュリティにとんでもない大穴が空いてしまうNginxのありがちな設定ミスについて実例を踏まえて専門家が解説
      • アイヌ語仮名「ㇷ゚」に対する正規表現の罠

        導入 アイヌ語は日本語と異なり、閉音節(子音で終わる音節)も存在するので、表記の際音素文字であるラテン文字なら、そのまま p, t, k, m, n, s, r などの子音文字を後ろの付ければ良いわけなので、アイヌ語ローマ字表記では、何も問題が生じない。しかし、元々開音節言語である日本語に特化したカタカナのような仮名文字で表記する際、鼻音 n は「ン」でなんとかなる(実はそれでもまずい事になっているけどここでは割愛する)が、p, t, k, m, n, s, r, h はどうしようもないので、特殊の捨て仮名(小書き仮名文字)を利用することになっている。 具体的には以下のような特殊仮名文字(通称 アイヌ語仮名)である。 ㇷ゚ -p ッ -t ㇰ -k ㇺ -m ㇱ -s ㇻ -(a)r, ㇼ -(i)r, ㇽ -(u)r, ㇾ -(e)r, ㇿ -(o)r お分かり頂けただろうか… 問題 r

          アイヌ語仮名「ㇷ゚」に対する正規表現の罠
        • 正規表現ミスって一晩誰もサービスにログインできなくしてしまった話 - Qiita

          はじめに この記事は、本番環境などでやらかしちゃった人 Advent Calendar 2023の11日目です。 どうも、@_tinojiと申します。実に4年ぶりにアドベントカレンダーに参加しました。 正規表現で1文字消し忘れて、なんぴとたりともサービスにログインできない状態にしてしまったという話をします。正規表現にはまじで気をつけましょうという教訓になれば・・・ 犠牲となったログイン画面 とあるtoBなWebサービスを開発していたときの話です。法人のユーザーが使う管理画面的なイメージです。 当然ログイン機能があって、至って普通なログインなのですが1つだけ特徴がありまして、ログイン画面のURLをアカウントごとに変えています。https://example.com/<uuid>/loginみたいな感じですね。 あまり見ない形式ではありつつも、個別のUUIDを特定されない限りログイン画面に対し

            正規表現ミスって一晩誰もサービスにログインできなくしてしまった話 - Qiita
          • はじめに - 作って学ぶ正規表現エンジン

            はじめに 正規表現は様々なプログラミング言語で利用されている、テキスト処理のためのパターン言語です。 正規表現はテキストエディタでの検索や置換、入力文字列のバリデーションなどプログラミングの様々な分野で実用されています。 ある程度の規模のプログラムにおいて、正規表現を全く利用しない (利用していない) ということはほとんど無く、正規表現は今日のプログラミングにおいて非常に重要なパーツだと言えます。 JavaScriptやRubyといったプログラミング言語では正規表現はファーストクラスのリテラルとして実装されているため、とても簡単に利用できます。 例えば次のRubyプログラミングでは変数fooに入った文字列の部分にfizzかbuzzが含まれるかどうかを、正規表現/fizz|buzz/を使ってチェックしています。 foo =~ /fizz|buzz/ さらに、計算機科学 (コンピューターサイエ

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

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

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

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

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

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

                    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テキストエディタのケ

                      なぜ正規表現の行頭と行末を表す記号として「^」と「$」が採用されたのか?
                    • 正規表現が"$"と"^"をラインアンカーとして採用した理由 | ソフトアンテナ

                      「正規表現」はさまざまなプログラミング言語やアプリケーションから利用できますが、正規表現で使われている「記号」がどのように選ばれたのか不思議に思っている方もいるかもしれません。 今回、正規表現の"$"と"^"が行末・行頭を示すラインアンカーとして選ばれた理由を推測するブログ記事、「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

                        正規表現が"$"と"^"をラインアンカーとして採用した理由 | ソフトアンテナ
                      • 日常でも役立つかも?Web広告運用でも使う「正規表現」の基本 - リスティング広告運用代行ならASUE

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

                          日常でも役立つかも?Web広告運用でも使う「正規表現」の基本 - リスティング広告運用代行ならASUE
                        • 正規表現とは何なのか、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
                          • 「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への更新を
                            • Regexide

                              Why XML Comments matter XML is a popular format for storing and sharing data. It was explicitly designed for people and programs to read and write data.[1] From spreadsheets to save states, most modern software and games parse and write XML. XML comments are special notes that parsers should not treat as data. XML comments start with <!-- and end with -->. Technically XML comments must not contain

                              • Pike VMとEarley法の関係についてRubyで実装して考えてみる | makenowjust-labs/blog

                                正規表現マッチングの実装手法の1つとしてPike VMと呼ばれるものがあります。 これはGo言語の正規表現実装やRustのregex crateで使われている手法であり、正規表現rrrと入力文字列wwwに対してO(∣r∣×∣w∣)O(|r| \times |w|)O(∣r∣×∣w∣)の計算量でマッチングができるのが特徴です。 Earley法はJay Earleyの提案した文脈自由文法 (CFG) の構文解析手法の1つです。 すべてのCFGを構文解析できる手法で最悪計算量はO(∣w∣3)O({|w|}^3)O(∣w∣3)ですが、無曖昧であればO(∣w∣2)O({|w|}^2)O(∣w∣2)で、決定的であればO(∣w∣)O({|w|})O(∣w∣)で構文解析ができます。 実装してみると分かりますが、Pike VMとEarley法には類似している点があり、Earley法をPike VMの発展系の

                                  Pike VMとEarley法の関係についてRubyで実装して考えてみる | makenowjust-labs/blog
                                • Regular expressions in JavaScript

                                  Regular expressions can be daunting, but they don't have to be! Learn everything you need about regular expressions and how to use them in JavaScript. The string is arguably the most essential data type in programming; every programming language and software in the world uses strings in one way or another. It enables humans to easily communicate with sophisticated programs and machines. One thing

                                    Regular expressions in JavaScript
                                  • 正規表現パズル - ゲーム作るくんのサイト

                                    正規表現を使ったパズルゲームです。正規表現の学習用ツールとしても使えます!

                                      正規表現パズル - ゲーム作るくんのサイト
                                    • 見落としがちなURL正規化によるパストラバーサル | セキュリティブログ | 脆弱性診断(セキュリティ診断)のGMOサイバーセキュリティ byイエラエ

                                      高度解析部アプリケーションセキュリティ課の金子です。 パストラバーサル(またはディレクトリトラバーサル)はXSSやSQLインジェクションに並んでWebアプリケーションに対する代表的な攻撃手法のひとつです。本記事では、パストラバーサルの中でもURL正規化によるパストラバーサルに焦点を当てて攻撃の発生原理やよくある事例について解説します。関連して、PHP向けのAWS SDKで発見したS3バケットに対するパストラバーサルの脆弱性CVE-2023-51651についても紹介します。 2種類のパストラバーサル パストラバーサルは../のような文字列を含んだ文字列の正規化処理(normalization)を悪用して、アプリケーションが予期しない"領域"に対してアクセスを行う攻撃です。正規化処理を行う対象によって分類することが可能で、次の2種類のパストラバーサルが代表的です: ファイルシステムに対するパス

                                        見落としがちなURL正規化によるパストラバーサル | セキュリティブログ | 脆弱性診断(セキュリティ診断)のGMOサイバーセキュリティ byイエラエ
                                      • Regex engine internals as a library - Andrew Gallant's Blog

                                        Over the last several years, I’ve rewritten Rust’s regex crate to enable better internal composition, and to make it easier to add optimizations while maintaining correctness. In the course of this rewrite I created a new crate, regex-automata, which exposes much of the regex crate internals as their own APIs for others to use. To my knowledge, this is the first regex library to expose its interna

                                        • Regex character “$” doesn't mean “end-of-string”

                                          This article is about a bit of surprising behavior I recently discovered using Python's regex module (re) while developing SBOM tooling for CPython. Folks who've worked with regular expressions before might know about ^ meaning "start-of-string" and correspondingly see $ as "end-of-string". So the pattern cat$ would match the string "lolcat" but not "internet cat video". The behavior of ^ made me

                                            Regex character “$” doesn't mean “end-of-string”
                                          • Windowsのファイル検索のコツとその仕組み - いおりのパソコン技術メモ

                                            注:この記事ではWindows7の画面を使用してますが、Windows10でも同じことができます。 Windowsではファイルの検索は、 フォルダの右上部分にある小さな検索ボックスから検索できます。 しかし、いざ検索してみると 「検索に引っかからない」 「検索が遅い」 「なぜか関係ないものまで検索される」 といった事に悩まされた人も多いのではないのでしょうか? Windowsでファイルを検索するテクニック ここでは、Windows7のファイル検索のシステムの仕組みについて紹介します。 また検索のコツを紹介したいと思います。 長くなるので先に結論だけ言います。 まず検索ボックスに入力する方法です。 例えば「word」という単語を検索したい場合、次のように入力します 「~"*word*"」 wordの前後にアスタリスク「*」とダブルクォーテンションマーク「"」で囲み、 一番前にチルダ「~」を付

                                              Windowsのファイル検索のコツとその仕組み - いおりのパソコン技術メモ
                                            1