JavaScript正則表達(dá)式匹配 div style標(biāo)簽

字號:


    這篇文章主要介紹了JavaScript正則表達(dá)式匹配<div><style>標(biāo)簽 的相關(guān)資料,需要的朋友可以參考下
    測試字符串:
    <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> 發(fā)現(xiàn)有換行的情況匹配不了,因?yàn)?是匹配除了換行符(/n)以外的任意一個(gè)字符。
    第二次嘗試:<style(([\s\S])*?)</style> 成功
    匹配<div>只需要把<style>換成<div>即可
    1. 只替換匹配到的第一個(gè)<style>
    var result= testData.replace(<style(([\s\S])*?)<\/style>, '');
    2. 會替換所有testData中所有的<style>標(biāo)簽
    var result= testData.replace(/<style(([\s\S])*?)<\/style>/g, '');
    g:代表可以進(jìn)行全局匹配。
    i:代表不區(qū)分大小寫匹配。
    m:代表可以進(jìn)行多行匹配。
    以上內(nèi)容是小編給大家介紹的JavaScript正則表達(dá)式匹配<div><style>標(biāo)簽,希望對大家有所幫助!