[英]Regex for getting values inside nested brace
以下是我正在使用的字符串
(((Thermal) WN RR) AND ((Energy) SS AB)), Text only
以上文字需要轉換為
Thermal AND Energy
如何實現這一目標。 這應該是通用的,如果值是
((Thermal) WN TR)
((Thermal) WN RR) AND ((Energy) SS AB) OR ((Thermal) WN RR)
任何幫助將不勝感激。 提前致謝
解決方案:感謝@spOOm使用他的正則表達式,以下是我用來解決問題的代碼
q = <Query String>
q = q.substring(0, q.lastIndexOf(')')+1);
q = q.replace(/\(\(([^()]+)\)(?: [^()]+)+\)/g, "$1");
第一次安裝可以由Regex完成,但我不是regex的專業人士。 謝謝你們..
用$1
替換\\(\\(([^()]+)\\)(?: [AZ]+)+\\)
可能會滿足您的需求:
通過Debuggex進行可視化
在JavaScript中:
var output = input.replace(/\(\(([^()]+)\)(?: [A-Z]+)+\)/g, "$1");
您不能使用正則表達式執行此操作,因為我相信您正在談論的是任意嵌套的括號。 參考
我看到您想要最里面的值,請使用此模式
\(([^()]+)\)
\( # "("
( # Capturing Group (1)
[^()] # Character not in [()] Character Class
+ # (one or more)(greedy)
) # End of Capturing Group (1)
\) # ")"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.