簡體   English   中英

正則表達式組匹配號

[英]Regexp group matching number

我在emacs中使用正則表達式替換將第一項和第三項的雙引號替換為單引號。 輸入:
"term1" "term2" "term3" "term4"
(術語“分隔符”是制表符)

想要的輸出:
'term1' "term2" 'term3' "term4"

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

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

但是,實際輸出代替第一和第四項
'term1' "term2" "term3" 'term4'

我的正則表達式有什么錯誤嗎?

Elisp正則表達式很貪婪,因此我希望您的第一組實際上與整行匹配,而不僅僅是"term ”。 嘗試以下方法:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM