2013-10-11 78 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

可以確保沒有經過你的報價捕獲這個正則表達式。

/"([^"]+)"[^"]*$/ 
相關問題