如何匹配句子中引号中的最后一个单词

时间:2013-10-11 13:17:17

标签: regex

如何匹配句子中的最后引用的单词(或从结尾的引号中的第一个)并打印它而不带引号?

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

输出:regular

5 个答案:

答案 0 :(得分:2)

您可以使用

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

demo


正则表达式看起来像这样:

Regular expression visualization

Debuggex Demo

答案 1 :(得分:1)

使用前瞻:

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

断言该单词的结尾引用是句子中的最后一个引用。

整场比赛就是这个词。

使用您的示例句子查看此正则表达式的live demo

答案 2 :(得分:1)

这个正则表达式会这样做:

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

用grep测试:

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

答案 3 :(得分:0)

考虑以下Regex ......

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

答案 4 :(得分:0)

使用此正则表达式捕获后,您可以确保没有引用。

/"([^"]+)"[^"]*$/