[英]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.