Javascript正则表达式失败(循环?)

Javascript正则表达式失败(循环?),javascript,regex,Javascript,Regex,我有以下案文: <meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8"><title>test file</title><meta name="GENERATOR" content="LibreOffice 4.1.4.2 (Windows)"><meta name="CREATED" content="0;0"><meta name="CHANGED"

我有以下案文:

<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8"><title>test file</title><meta name="GENERATOR" content="LibreOffice 4.1.4.2 (Windows)"><meta name="CREATED" content="0;0"><meta name="CHANGED" content="0;0"><style type="text/css">
    <!--
        .nicEdit-main { margin-left:55px; margin-right:36px; margin-top:18px; margin-bottom:36px }
        P { margin-bottom: 0.21cm; direction: ltr; color: #000000; text-align: left; widows: 2; orphans: 2 }
        P.western { font-family: "Times New Roman", serif; font-size: 12pt; so-language: ru-RU }
        P.cjk { font-family: "Arial", sans-serif; font-size: 12pt; so-language: zh-CN }
        P.ctl { font-family: "Symbol"; font-size: 12pt; so-language: hi-IN }
        TD P { margin-bottom: 0.21cm; direction: ltr; color: #000000; text-align: left; widows: 2; orphans: 2 }
        TD P.western { font-family: "Times New Roman", serif; font-size: 12pt; so-language: ru-RU }
        TD P.cjk { font-family: "Arial", sans-serif; font-size: 12pt; so-language: zh-CN }
        TD P.ctl { font-family: "Symbol"; font-size: 12pt; so-language: hi-IN }
    -->
    </style><div type="HEADER">
    <p class="western" style="margin-bottom: 0.38cm; text-align: left;" align="LEFT">
    <br><br>
    </p>
</div><p style="margin-top: 0.42cm; margin-bottom: 0.42cm; text-align: center;" class="western" align="CENTER">    <span class="divider">
<b>He</b><i><span style="text-decoration: underline;"><b>-llo</b></span></i><b>,&nbsp;World!!!!!</b></span> </p><p style="margin-top: 0.42cm; margin-bottom: 0.42cm; text-align: center;" class="western" align="CENTER">  <span class="divider"><br></span> <span class="divider"><br></span>  </p><p style="margin-top: 0.56cm; margin-bottom: 0.56cm; text-align: center;" class="western" align="CENTER">  <span class="divider">
<font size="6"><b>h1&nbsp;h1&nbsp;h1</b></font></span>
测试文件



他,世界


H1H1H1

以及以下正则表达式:

/<style type="text\/css">+(.*?\n.*?)+<\/style>/i
/+(.*?\n.*?)+/i
当我在regex tester上测试它时,regex正确地找到了部分。但当我试图在实时代码上执行它时,它会在regex.exe()上因超时而死机


我做错了什么?

style元素是一个常规HTML元素,可以使用常规JavaScript元素选择方法提取。例如,这将获得一个包含所有
style
元素的数组,其中
type
属性设置为“text/css”:

这将为您提供一个包含每个匹配元素的数组:

[
...,
...
]
要提取内部内容,只需在每个页面上使用
innerText
。例如,要获取第一个匹配的
style
元素的内容,您可以在
[0]
索引上调用
innerText

document.querySelectorAll('style[type="text/css"]')[0].innerText;

这些
+
在正则表达式中应该做什么?请解释一下你想做什么?是否提取
style
标记之间的所有内容?你有活的样本吗?你能不能不使用常规的元素选择方法
document.queryselectoral('style[type=“text/css”]”)
将获取所有
type
属性设置为“text/css”的
style
元素,例如。@Bergi将多行css块与
code
\n
code
,因此如果
code
(\n.?)+
code
将是w/o+,它将不匹配整个
代码
代码
section@Bergi这是个错误。一些垃圾代码<代码>(\n.*)+已使用。多次匹配上一个换行符+一个css行
document.querySelectorAll('style[type="text/css"]')[0].innerText;