2013-10-11 38 views
0

如何(从结束引号或第一个)在一个句子中最新报价字匹配,并打印不带引号?如何报价最后一个字匹配在一个句子

例子:I "need" a help with "regular" expressions.

输出:regular

+0

非贪婪的比赛对引号与定向排除(“在此之后没有进一步的报价”) – Floris

+1

,如果你发布的是什么,你已经尝试过一个例子可能会有帮助,所以我们可以看到它的失败。 – imjared

+0

感谢您的回答。我使用lua编程语言,在lua中不起作用,它匹配第一个引用的单词“need”。如何使它在卢阿工作? 我用这个例子: 一句=我“需要”与“正规军”表达式的帮助。 引述=句子:匹配( “\”[A-ZA-Z0-9] + \ “”),但它都引述词语相匹配。 – user2866980

回答

1

使用向前看:

(?<=")[^"]+(?="[^"]*$) 

它断言围绕这个词收盘报价在句子的最后报价。

全场比赛这个词。

见这个表达式与例句工作的live demo

1

此正则表达式会做:

(?<=")[^"]*(?="[^"]*$) 

测试使用grep:

kent$ echo 'I "need" a help with "regular" expressions.'|grep -Po '(?<=")[^"]*(?="[^"]*$)'                      
regular 
0

考虑下面的正则表达式...

(?<=[\w\s\"]*\")\w*(?=\"[\w\s]*\.) 
0

可以确保没有经过你的报价捕获这个正则表达式。

/"([^"]+)"[^"]*$/ 
相关问题