2016-10-23 3 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

당신이 정규식에서 예제 코드와 원하는 출력을 게시 할 수 : 관련 JSONPath 쿼리는 다음과 같이 간단 할 것인가? –

+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

[^: "{}]+을 말한다면, 그렇게해야합니다. 이것은 네 개의 열거 형 문자를 포함하지 않는 문자열과 일치합니다. 여전히 가장 왼쪽의 가장 긴 경기와 일치하므로 어떤 방법 으로든 경기를 앵커해야합니다. 귀하의 예를 바탕으로, 난 당신이 정말 닫는 중괄호 또는 쉼표 하나 다음에 선택적인 따옴표 전에 만 발생하는 문자 클래스의 문자 최장 왼쪽 문자열을하지 일치

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

찾고있는 것 같아요 .

다른 주석에서 이미 언급했듯이 JSON을 구문 분석하기 위해 regex를 사용하는 것은 일반적으로 매우 나쁜 생각입니다. 이것이 실패 할 경우가 많이 있습니다. 처음에는 JSON을 여러 줄로 나눌 수 있으므로 중괄호 또는 쉼표가 액세스 토큰과 같은 줄에 있지 않으므로이 정규식으로 추출하면 실패합니다. 앞으로

"access_token":"(.+?)" 

:

1

당신은 복잡한 동안 일을하고있다하여 JMeter는 그들이 같은 왼쪽과 오른쪽 경계를 간주됩니다 있도록 인용이 검색 패턴의 일부를 표시 할 수 있음을 의미 Perl5-style regular expressions 지원 JSON의 경우 JMeter 3.0부터 JSON Path PostProcessor을 사용할 수 있습니다.

$.access_token 

더 복잡 JSONPath 쿼리를 개발하는 방법에 대한 자세한 내용은 참조 Advanced Usage of the JSON Path Extractor in JMeter 가이드

+0

'([^"] +)' 정규식에서. – tripleee