JMeterの正規表現抽出

JMeterの正規表現抽出についてメモ。

JMeterでは、正規表現による抽出方法が2通りある。
方法は以下のとおり。

 1.後処理→正規表現抽出
 2.サンプラー→JAVAリクエスト(__regexFunction関数)

どちらも、直前(もしくは親)の応答に対して正規表現抽出を行う。
どちらかといえば、JAVAリクエストの方が柔軟に感じられる。

正規表現抽出で、複数の結果を得たい場合がある。
この複数の結果にも2通りある(もしくはもっと)。

 A.1つのマッチング用正規表現内での複数マッチ(グループ)
 B.抽出結果自体の複数マッチ

"([0-9]+)\/([0-9]+)\/([0-9]+)"のように、1つの正規表現から複数の結果を得たい場合が上記のAにあたる。
"2005\/0*4\/([0-9]+)"のような正規表現を利用して、年月日で整理されたリストから2005年4月に該当するデータをすべて抽出したい様な場合が上記のBにあたる。

Aの場合、抽出結果の参照名が"refName"だとすると、"${refName_g番号}"とすることで参照できる。
Bの場合は、同様に"${refName_番号}"とすればよい。
(どちらも"番号"には1から始まる整数が入る)

ただし、Bの場合__regexFunction関数による抽出結果には利用できない。
__regexFunction関数の場合、抽出対象の最後にマッチした結果が参照変数に代入される。
関数の実行結果として複数結果を出力することはできるが、それが利用価値があるかは微妙。
結果にリストを望む場合は、後処理の正規表現抽出を利用するべき。
ForEachコントローラを利用する場合も同様。

プロフィール

このブログ記事について

このページは、koshigoeが2005年6月 7日 20:58に書いたブログ記事です。

ひとつ前のブログ記事は「Google Sitemaps」です。

次のブログ記事は「JMeterのパフォーマンス問題」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。