2015-04-28 194 views
1

我正在用emacs中的正則表達式替換第一項和第三項的雙引號替換爲單引號。輸入:
"term1" "term2" "term3" "term4"
(術語分隔符是標籤)正則表達式組匹配號碼

輸出:
'term1' "term2" 'term3' "term4"

我用下面的正則表達式搜索和替換字符串:
搜索:"\(.+?\)" "\(.+?\)" "\(.+?\)"

更換: '\1' "\2" '\3'

然而,實際的輸出代替第一和第四長期代替:
'term1' "term2" "term3" 'term4'

有沒有在我的正則表達式的任何錯誤?

+1

它爲我 – choroba

回答

2

elisp的正則表達式是貪婪的,所以我希望你的第一組實際上是匹配整條生產線,而不僅僅是"term」試試這個:。

"\([^"]+?\)" "\([^"]+?\)" "\([^"]+?\)" 
+0

謝謝你,我錯過了一些2標籤分離,發現這是原因。 – modeller