我想检索括号之间的文本。这里有很多例子,但没有一个给出准确的结果。正则表达式检索文本在圆括号内
例如,在这一行:
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