JavaScript正则表达式匹配 div style标签
测试字符串:
<style>v\:*{ BEHAVIOR:url(#default#VML) }o\:* { BEHAVIOR:url(#default#VML) }w\:* { BEHAVIOR:url(#default#VML) } .shape { BEHAVIOR:url(#default#VML) } </style> abcdefg <style> @font-face { font-family:Wingdings; } @font-face { font-family:Wingdings; } @font-face { font-family:Calibri; }@font-face { font-family:Tahoma; } @pageWordSection1 {size:8.5in11.0in;margin:1.0in1.0in1.0in1.0in; }P.MsoNormal { FONT-SIZE:12pt;MARGIN:0in0in0pt; FONT-FAMILY:"TimesNewRoman","serif" }LI.MsoNormal{ FONT-SIZE:12pt;MARGIN:0in0in0pt;FONT-FAMILY:"TimesNewRoman","serif" }DIV.MsoNormal { FONT-SIZE:12pt;MARGIN:0in0in0pt;FONT-FAMILY:"TimesNewRoman","serif" } H1 { FONT-WEIGHT:bold;FONT-SIZE:24pt;MARGIN-LEFT:0in; MARGIN-RIGHT:0in; FONT-FAMILY:"TimesNewRoman","serif"; mso-style-priority:9; mso-style-link:"Heading1Char";mso-margin-top-alt:auto;mso-margin-bottom-alt:auto } A:link { COLOR:blue;TEXT-DECORATION:underline;mso-style-priority:99 } SPAN.MsoHyperlink { COLOR:blue;TEXT-DECORATION:underline;mso-style-priority:99 }A:visited { COLOR:purple;TEXT-DECORATION:underline;mso-style-priority:99 }SPAN.MsoHyperlinkFollowed { COLOR:purple;TEXT-DECORATION:underline;mso-style-priority:99 } P { FONT-SIZE:12pt;MARGIN-LEFT:0in;MARGIN-RIGHT:0in;FONT-FAMILY:"TimesNewRoman","serif"; mso-style-priority:99;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto } P.MsoAcetate { FONT-SIZE:8pt;MARGIN:0in0in0pt;FONT-FAMILY:"Tahoma","sans-serif"; mso-style-priority:99;mso-style-link:"BalloonTextChar" } LI.MsoAcetate { FONT-SIZE:8pt;MARGIN:0in0in0pt;FONT-FAMILY:"Tahoma","sans-serif";mso-style-priority:99;mso-style-link:"BalloonTextChar" }DIV.MsoAcetate { FONT-SIZE:8pt;MARGIN:0in0in0pt;FONT-FAMILY:"Tahoma","sans-serif"; mso-style-priority:99;mso-style-link:"BalloonTextChar" } SPAN.Heading1Char { FONT-WEIGHT:bold;mso-style-priority:9;mso-style-link:"Heading1";mso-style-name:"Heading1Char" } SPAN.EmailStyle19{ COLOR:#1f497d;FONT-FAMILY:"Arial","sans-serif";mso-style-type:personal-reply }SPAN.BalloonTextChar { FONT-FAMILY:"Tahoma","sans-serif";mso-style-priority:99;mso-style-link:"BalloonText";mso-style-name:"BalloonTextChar" } .MsoChpDefault{ FONT-SIZE:10pt;mso-style-type:export-only }DIV.WordSection1{ page:WordSection1}OL { MARGIN-BOTTOM:0in}UL { MARGIN-BOTTOM:0in } </style>
第一次尝试:<style[^>/]*>(.*?)</style>发现有换行的情况匹配不了,因为.是匹配除了换行符(/n)以外的任意一个字符。
第二次尝试:<style(([\s\S])*?)</style>成功
匹配<div>只需要把<style>换成<div>即可
1.只替换匹配到的第一个<style>
varresult=testData.replace(<style(([\s\S])*?)<\/style>,'');
2.会替换所有testData中所有的<style>标签
varresult=testData.replace(/<style(([\s\S])*?)<\/style>/g,'');
g:代表可以进行全局匹配。
i:代表不区分大小写匹配。
m:代表可以进行多行匹配。
以上内容是小编给大家介绍的JavaScript正则表达式匹配<div><style>标签,希望对大家有所帮助!