我想檢索括號之間的文本。這裏有很多例子,但沒有一個給出準確的結果。正則表達式檢索文本在圓括號內
例如,在這一行:
Hello how are (you) doing ?
我想找回只是「你」,這是括號內。
我正在使用以下正則表達式:/\((.*?)\)/
但這是給我(you)
。
請讓我知道如何處理這個。
我想檢索括號之間的文本。這裏有很多例子,但沒有一個給出準確的結果。正則表達式檢索文本在圓括號內
例如,在這一行:
Hello how are (you) doing ?
我想找回只是「你」,這是括號內。
我正在使用以下正則表達式:/\((.*?)\)/
但這是給我(you)
。
請讓我知道如何處理這個。
在大多數語言中,您應該能夠提取出您要查找的內容,這將是第一個「組」(即括號中的第一項)。如何做到這一點很大程度上取決於語言,但它通常是可能的。如果這是不可能的,如果你不知道如何(雖然也許你想知道如何),或作爲替代方案,你可以使用環視:(可能更少雖然普遍支持)
/(?<=\()(.*?)(?=\))/
(?<=...)
是查找的背後,則檢查之前的字符。
(?=...)
是向前看,它看着下一個字符。
實際匹配中不包含文本匹配後視和預見。
這是我會如何使用JavaScript和Ruby解決這個:
# Ruby
text = "Hello how are (you) doing?"
pattern = /\(([^\(\)]+)\)/
puts text.match(pattern)[1]
// JavaScript
var text = "Hello how are (you) doing?";
var pattern = /\(([^\(\)]+)\)/;
console.log(text.match(pattern)[1]);
請也表明你的代碼爲止。如果他們甚至不知道你使用的是什麼語言,以及你的嘗試是什麼樣的,他們就無法幫助你。 – Tomalak 2013-04-26 08:33:07
哪種編程語言?您需要獲取捕獲的組而不是捕獲本身 – 2013-04-26 08:33:15