javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > 正则表达式 匹配style div

JavaScript正则表达式匹配 div style标签

作者:夏贤飞

这篇文章主要介绍了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; 
} 
@page WordSection1 
{size: 8.5in 11.0in; margin: 1.0in 1.0in 1.0in 1.0in; 
} P.MsoNormal 
{ 
FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; 
FONT-FAMILY: "Times New Roman","serif" 
} LI.MsoNormal { 
FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman","serif" 
} DIV.MsoNormal 
{ 
FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman","serif" 
} 
H1 
{ 
FONT-WEIGHT: bold; FONT-SIZE: 24pt; MARGIN-LEFT: 0in; 
MARGIN-RIGHT: 0in;
FONT-FAMILY: "Times New Roman","serif";
mso-style-priority: 9; 
mso-style-link: "Heading 1 Char"; 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: "Times New Roman","serif"; 
mso-style-priority: 99; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto 
}
P.MsoAcetate 
{ 
FONT-SIZE: 8pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Tahoma","sans-serif"; 
mso-style-priority: 99; mso-style-link: "Balloon Text Char"
} 
LI.MsoAcetate
{ 
FONT-SIZE: 8pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Tahoma","sans-serif"; mso-style-priority: 99; mso-style-link: "Balloon Text Char"
} DIV.MsoAcetate 
{ 
FONT-SIZE: 8pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Tahoma","sans-serif";
mso-style-priority: 99; mso-style-link: "Balloon Text Char" 
} 
SPAN.Heading1Char 
{ 
FONT-WEIGHT: bold; mso-style-priority: 9; mso-style-link: "Heading 1"; mso-style-name: "Heading 1 Char" 
} 
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: "Balloon Text"; mso-style-name: "Balloon Text Char" 
} 
.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>

var result= testData.replace(<style(([\s\S])*?)<\/style>, '');

2. 会替换所有testData中所有的<style>标签

var result= testData.replace(/<style(([\s\S])*?)<\/style>/g, '');

g:代表可以进行全局匹配。

i:代表不区分大小写匹配。

m:代表可以进行多行匹配。

以上内容是小编给大家介绍的JavaScript正则表达式匹配<div><style>标签,希望对大家有所帮助!

您可能感兴趣的文章:
阅读全文