簡體   English   中英

需要正則表達式模式才能獲得介於兩者之間的所有內容

[英]Need regex pattern to get everything in between

從這個字符串我需要獲得授權值但沒有 [\\" 和 \\"]

[\"bla bla bla\"],\"x-user-id\":[\"\"],
\"accept\": [\"application/json, text/javascript, */*; q=0.01\"],
\"original-path\": [\"/test/test\"],
\"authorization\":[\"Bearer dadadadadadadadadadadadadadadadadadadadadadadadadadad\"],
\"requestUrl\":\"/test/test/test\",\"host\":[\"test.com\"]

我試過\\[(.*?)\\\\]並返回 [] 之間的所有值。

有什么建議嗎?

/\\"authorization\\":\[\\"(.+?)\\"]/

這應該可以解決問題,第一個捕獲組(即Matcher.group(0) )將包含沒有任何圍繞它的絨毛的值。

您可以在模式中添加authorization一詞以僅獲得一個authorization\\\\":\\[\\\\"(.*?)\\\\"]

String value = "[\\\"bla bla bla\\\"],\\\"x-user-id\\\":[\\\"\\\"],\\\"accept\\\":[\\\"application/json, text/javascript, /; q=0.01\\\"],\\\"original-path\\\":[\\\"/test/test\\\"],\\\"authorization\\\":[\\\"Bearer dadadadadadadadadadadadadadadadadadadadadadadadadadad\\\"],\\\"requestUrl\\\":\\\"/test/test/test\\\",\\\"host\\\":[\\\"test.com\\\"]";
Pattern p = Pattern.compile("authorization\\\\\":\\[\\\\\"(.*?)\\\\\"]");
Matcher m = p.matcher(value);
if (m.find()) {
    System.out.println(m.group(1)); // Bearer dadadadadadadadadadadadadadadadadadadadadadadadadadad
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM