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

はじめに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
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
We could not find anything for your request! 御要求のWebページ、画像、ファイルが見つかりません。 トップページへ サイトの内容紹介ページへ
こんにちは、久保田です。 皆さん正規表現は使っていますか?PHPに限らずどんな言語を使っていても、正規表現にお世話になっていないプログラマはいないと思います。しかし、その正規表現がどのように実装されているかについては知らない方が多いのではないのでしょうか。 この記事では、その正規表現エンジンの実装方法の一つである仮想マシンによる正規表現エンジンの実装方法を解説しつつ実際に簡単な正規表現エンジンを作っていきたいと思います。 正規表現エンジンの実装方法 正規表現エンジンの実装方法はいくつかあるのですが、それの一つに仮想マシンによって正規表現のマッチング処理を実行するやり方があります。PHPで利用している正規表現エンジンであるPCREはこの方式を採用しています。 仮想マシンによる実装方法は、正規表現というよりもプログラミング言語の実装方法の一つとして知られています。Rubyの最もメジャーな実装

正規表現によるバリデーション等で、完全一致を示す目的で ^ と $ を用いる方法が一般的ですが、正しくは \A と \z を用いる必要があります。Rubyの場合 ^ と $ を使って完全一致のバリデーションを行うと脆弱性が入りやすいワナとなります。PerlやPHPの場合は、Ruby程ではありませんが不具合が生じるので \A と \z を使うようにしましょう。 はじめに 大垣さんのブログエントリ「PHPer向け、Ruby/Railsの落とし穴」には、Rubyの落とし穴として、完全一致検索の指定として、正規表現の ^ と $ を指定する例が、Ruby onRailsSecurityGuideからの引用として紹介されています。以下の正規表現は、XSS対策として、httpスキームあるいはhttpsスキームのURLのみを許可する正規表現のつもりです。 /^https?:\/\/[^\n]+$/
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く