dst*_*iko 3 html css regex sublimetext2
我需要在 HTML 标签、内联的 CSS 中搜索和替换,以避免使用style=""内联属性。
即替换看起来像这样的东西:
<table border="0" cellpadding="0" cellspacing="0" width="100%"  style="font-family: Helvetica;line-height: 100%;margin-top: 20px; text-align: left;vertical-align: bottom;color: #202020">
变成这样:
<table border="0" cellpadding="0" cellspacing="0" width="100%" font-family="Helvetica" line-height="100%" margin-top="20px" text-align="left" vertical-align="bottom" color="#202020">
有人知道我必须编写的用于搜索和替换的正则表达式吗?
谢谢。
你可以这样做:
style="(.*?)"将捕获的组匹配并保存到变量。([a-zA-Z-]+):\s*(.*?)\s*;并将其替换为{1}="{2}".style=".*?"为数字 2 的结果。使用此正则表达式替换:
(?:\G(?!^)|\bstyle=")([^:]*):\s*([^;]*)[;"](?=[^>]*>)
替换为(注意末尾的空格):
$1="$2" 
这是一个演示
解释
(?:\G(?!^)|\bstyle=")- 我们将开始匹配的边界。边界是前一场比赛的结束 ( \G(?!^)) 或style="(由于\bstyle=")。([^:]*) - 包含 0 个或多个字符的序列的第一个捕获组 :: - 一个字面意思 :\s* - 0 个或多个空格([^;]*) - 包含 0 个或多个字符的序列的第二个捕获组 ;[;"]-无论是;或"(?=[^>]*>) - 我们检查结束边界以确保我们在结束标签内。