Movatterモバイル変換


[0]ホーム

URL:


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

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

アプリで開く

はてなブックマーク

タグ

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

タグの絞り込みを解除

regexに関するWindymeltのブックマーク (7)

  • 正規表現の名前つきキャプチャを便利にする - 貳佰伍拾陸夜日記

    Java 7から正規表現で名前つきキャプチャが使えて,Scalascala.util.matching.Regex.Matchでもそれに相当する機能がある(インタフェースや実装はJava標準のものとは別)けれど, ちょっと不便なところをどうにかしているうちに, インデックスによるキャプチャグループの上に独自に名前つきキャプチャグループを実装するような形になった. 使い方はREADMEを見てもらうとして, なぜこんなものがほしくなったのかという話を書いておく. 標準の名前つきキャプチャのよくないところ キャプチャグループの実体と名前の乖離 名前つきキャプチャは正規表現中で(?<name>pattern)のように書くことで, patternにマッチした部分をあとからnameで参照できる. たとえば, Webサーバのルーティング処理で, パス中に名前つきでパターンを書いておけば非常に便利そう

    正規表現の名前つきキャプチャを便利にする - 貳佰伍拾陸夜日記
    Windymelt
    Windymelt2023/03/16非公開
    公開されてたの知らなかった!!!!!!
    • 正規表現でキャプチャグループを使うときは名前を付けよう

      はじめにJS/TS で正規表現を扱う際、()を使ったキャプチャグループを使うことがあると思います。 キャプチャグループは大きく分けて 2 つの使われ方があり、 1 つはキャプチャした文字列を.match()などで取得したり後方参照するために使われ、 もう 1 つは|を使った論理和のために使われます。 // バージョン番号からそれぞれの数字を取得する const matches = "v7.29.3".match(/v(\d+)\.(\d+)\.(\d+)/); console.log(matches[1]); // => 7 console.log(matches[2]); // => 29 console.log(matches[3]); // => 3 // `Hello, world!`と`Goodbye, world!`のどちらかにマッチするかを判定する const isMatch

      正規表現でキャプチャグループを使うときは名前を付けよう
      Windymelt
      Windymelt2023/03/16非公開
      良い記事。Scalaでもこういう記法あった気がする。
      • pcrepattern specification

        pcrepattern man page Return to thePCRE index page. This page is part of thePCREHTML documentation.It was generated automatically from the original man page. If there is any nonsense init, please consult the man page, in case the conversion went wrong.PCRE REGULAR EXPRESSION DETAILS SPECIAL START-OF-PATTERNITEMS EBCDIC CHARACTER CODES CHARACTERS AND METACHARACTERS BACKSLASH CIRCUMFLEX AND DO

        Windymelt
        Windymelt2020/07/23非公開
        “Outside a character class, by default, the escape sequence \R matches any Unicode newline sequence”
        • んっ?−ちゃよて・ちゃよて

          We could not find anything for your request! 御要求のWebページ、画像、ファイルが見つかりません。 トップページへ サイトの内容紹介ページへ

          Windymelt
          Windymelt2017/02/06非公開
          regexpの構文木(ast)を作るコード
          • PHPで仮想マシンベースの正規表現エンジンを作ってみる 第一回

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

            PHPで仮想マシンベースの正規表現エンジンを作ってみる 第一回
            • 正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう

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

              Windymelt
              Windymelt2016/04/08非公開
              ]これからは使っていきたい
              • regex101: build, test, and debug regex

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

                regex101: build, test, and debug regex
                • 残りのブックマークを読み込んでいます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