繁体   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