正则表达式获取最后一项

时间:2011-07-29 18:30:04

标签: regex cocoa

我是正则表达式的新手,请原谅我,如果这是非常基本的话。我有一个字符串:something "some item" something "another item"和一个表达式:".*"。当我运行它时,我得到"some item" something "another item",但实际上我想要它"another item"。是否可以修改表达式来做到这一点?它将通过RegExKit使用。

由于

3 个答案:

答案 0 :(得分:2)

根据您提供的单个示例,这将有效:

("[^"]*")$

它匹配输入末尾的一对双引号之间的所有内容,包括引号。


  

我正在寻找最后引用的子字符串,无论有多少。

在这种情况下,上述内容并不一定符合您的要求。试试这个:

.*("[^"]*")

有关.*部分的说明,请参阅@mhyfrtiz' answer

答案 1 :(得分:0)

"[^"]*"$

适用于大多数语言,包括JavaScript;

答案 2 :(得分:0)

这将有效

.*"(.*)"

这利用了*量词是贪婪的事实,因此第一个.*将消耗整个文本。之后,正则表达式引擎回溯(即,从末尾向后遍历字符串),直到字符串中最后一次出现".*"匹配。