2016-10-23 1 views
-2

問題があります。私は、引用符なしでこの表現をアクセストークンを渡すために正規表現を必要^:]+(?=,|$)ので、それは(「」)が見つかりません[この正規表現を作成する方法

を理解することはできません。

{"access_token":"UEaYoz4xgKQUyjHv9dg6nzaWN52jHbeGRymGVqdo6wd‌​WwXLjoxPydlNkXEOJYki‌​QpEXOHTo99Tn7i9Q-MHP‌​MFmnqmfLjel-0qVVpF1r‌​FxEiB_RtX3kMYm5-ihH7‌​OYB3aEzFvnQ_HsNevGlV‌​72AFKKJrhSP9V637SSYC‌​5MDzU4Wri0_uPW1VMuLu‌​q-IhtOPrSe0lqu86clal‌​ySuevFf5w_jcHPEm5xIx‌​R4pTzELfYluQiFS9JrAC‌​s5tF2d-WwkTZaYhjCf9M‌​Wx5JVqtMJC0x8shPvHZA‌​rH5Um1jpO12UHtRSU6P5‌​rP5VHuEk8AAQmDEv5EYh‌​59RI6jAWKtYRZMEBoJZO‌​UEbF9ZelPB4jYqpx4gsV‌​kP0GVJ57o_d3OiAllvOo‌​kY14u1GXZ3XN1fesOi89‌​srmatVf_J6ka50m9ilrW‌​tzMYWNq6vf2j-JgQA87R‌​80DTaRtCFfg"} 

アクセストークンのこの部分引用符なしで合格する必要があります。

UEaYoz4xgKQUyjHv9dg6nzaWN52jHbeGRymGVqdo6wd‌​WwXLjoxPydlNkXE‌​OJYki‌​QpEXOHTo99Tn7‌​i9Q-MHP‌​MFmnqmfLjel‌​-0qVVpF1r‌​FxEiB_RtX‌​3kMYm5-ihH7‌​OYB3aEz‌​FvnQ_HsNevGlV‌​72AFK‌​KJrhSP9V637SSYC‌​5MD‌​zU4Wri0_uPW1VMuLu‌​q‌​-IhtOPrSe0lqu86clal‌‌​​ySuevFf5w_jcHPEm5xI‌​x‌​R4pTzELfYluQiFS9J‌​rAC‌​s5tF2d-WwkTZaYh‌​jCf9M‌​Wx5JVqtMJC0x8‌​shPvHZA‌​rH5Um1jpO12‌​UHtRSU6P5‌​rP5VHuEk8‌​AAQmDEv5EYh‌​59RI6jA‌​WKtYRZMEBoJZO‌​UEbF9‌​ZelPB4jYqpx4gsV‌​kP0‌​GVJ57o_d3OiAllvOo‌​k‌​Y14u1GXZ3XN1fesOi89‌‌​​srmatVf_J6ka50m9ilr‌​W‌​tzMYWNq6vf2j-JgQA‌​87R‌​80DTaRtCFfg 
+0

はあなたが正規表現のサンプルコードと所望の出力を投稿することができます参照してください? –

+0

regexを使用してJSONを解釈しようとする根本的な問題はありますか?おそらくJSONパーサーを使用しているはずです。 [このブログの記事](http://eclipsesource.com/blogs/2014/06/12/parsing-json-responses-with-jmeter/)では、jmeterを使用してJSONを解析するさまざまな方法について説明しています。 –

+0

私はあなたのコメントに基づいてあなたの質問を更新し、時代遅れのものとしてそれらにフラグを立てました。次回は、あなたの質問を編集してください - それはコメントがなくても、それ自身で立つ必要があります。そして、これはまだ理解できない*まだ*です。あなたの質問を英語で表現するのが難しい場合は、あなた自身の言語で聞くことができるサイトを見つけるべきでしょう。 (あなたの名前に基づいて推測すると、これはストレッチだとわかっていますが、おそらくhttps://ru.stackoverflow.com/を試すことができます) – tripleee

答えて

0

あなたが[^: "{}]+を意味するなら、あなたがそう言っています。これは、列挙された4つの文字のいずれも含まない任意の文字列に一致します。それでもまだ一番左の長い試合にしかマッチしないので、何とか試合をアンカーする必要があります。あなたの例に基づいて、私はあなたが本当に閉じカッコまたはコンマのいずれかに続いて任意の二重引用符の前にだけ発生する文字クラス内の文字の最長左端の文字列に一致しない

[^:"[{}]+(?="?([},])) 

を探していると思います。

コメントですでに述べたように、regexを使用してJSONを解析するのは、一般的には非常に悪い考えです。これが失敗するコーナーケースが数多くあります。まず、JSONを複数の行に分割して、中かっこがアクセストークンと同じ行にないようにしてから、この正規表現で抽出することはできません。今後

"access_token":"(.+?)" 

1

あなたは複雑以上のものを作っている、のJMeterはPerl5-style regular expressionsをサポートし、それはあなたが彼らのような左右の境界を考慮されるので、二重引用符は、検索パターンの一部をマークすることができます意味しますJSONに関しては、JMeter 3.0以来利用可能なJSON Path PostProcessorを使用する方が理にかなっています。関連JSONPathクエリは、のように簡単になります。より複雑なJSONPathクエリを開発する方法については

$.access_token 

Advanced Usage of the JSON Path Extractor in JMeterガイド

+0

'([^"] +) '正規表現で。 – tripleee

関連する問題