[英]Regex to return the characters between square brackets (but not the brackets)
我正在尋找一個RegEx來返回兩個方括號之間的所有字符,只返回字符,而不是括號本身。
例如,給出一個看起來像"[A][B2][1,1][ABC]"
的字符串
正則表達式應該返回: A
, B2
, 1,1
, ABC
我已經為String#split
和Pattern
& Match
嘗試了各種表達式。
我得到的最接近的是:
String.split("[\\\\[]*[\\\\]]");
和Pattern.compile("\\\\[[^\\\\]]+(?=])");
這兩個都回歸: [A
, [B2
, [1,1
, [ABC
我發現其他表達式使用括號括起來返回值(即Pattern.compile("\\\\[[^\\\\]]*\\\\]");
)但這不是我所追求的。
有人知道正確的表達嗎? 或者我正在努力做不到的事情?
(?<=\\[).*?(?=\\])
你需要lookaheads
和lookbehinds
。或者
(?<=\\[)[^\\]]*(?=\\])
你可以用它。
Pattern.compile("\\[(.*?)\\]");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.