末尾に特定の英数字で構成された一意のパラメーターを持つ、複数のURLを正規表現で判定したいと考えています。
例1) http(s)://aaa.com/<subDirectory1>/<subDirectory2>/.../framework.jsp?ID1=zzzz&XXXID=321abc456DEF
例2) http(s)://aaa.com/<subDirectory1>/<subDirectory2>/<subDirectory>/.../XXXXX/321abc456DEF
※ 特定の英数字で構成されているパラメーターの直前に来る識別子は一定ではなく、ID= の時や XXXIDs=、または単にスラッシュの直後に当該パラメーターが置かれる場合もあります。
(書き方は何通りかあるかもしれませんが、)
上記例1,2は以下の正規表現に該当していると判定されますでしょうか。
(判定される認識でいるのですが、結果からは上手く動作していないように思えます。)
.*321abc456DEF$
当方初心者のため初歩的な質問で申し訳ありませんが、よろしくお願いします。
プログラミング言語は結局何を希望するのでしょうか?
「?」をつけずにXXXID=321abc456DEFとするURLは微妙ですね
すみません、PCRE 前提で考えておりました、、Perl とお答えすべきかもしれません。
例1のURLを修正しました。より厳密には以下のような構成なんですが、件の正規表現だと判定されないものでしょうか。。
framework.jsp?ID1=zzzz&XXXID=321abc456DEF
grep コマンド(PCREエンジン)ではこんな感じですかね。
$ echo 'framework.jsp?ID1=zzzz&XXXID=321abc456DEF' | grep -Po '.*\b\K(.+?=.+)$'
回答1件
あなたの回答
tips
プレビュー