簡體   English   中英

正則表達式,用於在最后一個括號之間獲取文本()

[英]Regex for getting text between the last brackets ()

我想使用javascript提取last ()之間的文本

例如

var someText="don't extract(value_a) but extract(value_b)";
alert(someText.match(regex));

結果應該是

value_b

謝謝您的幫助

嘗試這個

\(([^)]*)\)[^(]*$

在regexr上查看

var someText="don't extract(value_a) but extract(value_b)";
alert(someText.match(/\(([^)]*)\)[^(]*$/)[1]);

括號內的部分存儲在捕獲組1中,因此您需要使用match()[1]訪問結果。

/\([^()]+\)(?=[^()]*$)/

前瞻(?=[^()]*$)斷言在輸入結束之前沒有更多的括號。

一個有效的解決方案是讓.*在最后一個(

 var str = "don't extract(value_a) but extract(value_b)"; var res = str.match(/.*\\(([^)]+)\\)/)[1]; console.log(res); 

這是regex101的演示

如果最后一個括號始終位於句子的結尾,則可以使用喬納森斯答案。 否則,可能會發生以下情況:

/\((\w+)\)(?:(?!\(\w+\)).)*$/

暫無
暫無

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

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