vim:如何查找不在现有<>内的引号标签?

时间:2015-02-27 15:58:36

标签: regex html5 vim

我正在尝试使用大量标记向现有HTML文档添加曲线引号。我想在vim中使用正则表达式来查找不在<>内的所有引号标签。这可能吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用此正则表达式将常规双引号替换为引号:

"(?![^<]*>|[^<>]*<\/)

请参阅here

如果需要括起引用的字符串,可以使用另一个正则表达式: "([^"><]+)"(?![^<]*>|[^<>]*<\/) 并用。替换匹配 “$1”

var re = /"([^"><]+)"(?![^<]*>|[^<>]*<\/)/g; 
var str = '<img src="/htm/in.jpg"> "my quoted string"';
var subst = '“$1”'; 

var result = str.replace(re, subst);

请参阅demo