我想使用正则表达式选择一段javascript。我需要用其他东西替换值,所以我使用Notepad ++编辑器来完成这项工作。它是一个包含此脚本多次的大文件。我的代码是这样的,我想选择: -
<ins class="thisisfirstscript"
style="display:inline-block;width:336px;height:280px"
data-client="ABCD"
data-slot="4397140188"></ins>
<ins class="thisissecondscript"
style="display:inline-block;width:336px;height:280px"
data-client="CDEF"
data-slot="4496122889"></ins>
我想分别选择它们中的每一个。您可以看到data-slot
对于这两种情况都不同。所以,我想考虑选择它。我正在尝试,
<ins class="thisisfirstscript"(.*?)data-slot="4397140188"></ins>
&安培;
<ins class="thisissecondscript"(.*?)data-slot="4496122889"></ins>
但是,它没有用。因为,新行字符不包括在这里。
工作回答是: -
/(?:<ins class="thisissecondscript")([\s\S]*)?(?:data-slot="4496122889"><\/ins>)/
现在,第二个是,假设我有多次相同的脚本。看起来像,
<ins class="thisisfirstscript"
style="display:inline-block;width:336px;height:280px"
data-client="ABCD"
data-slot="4397140188"></ins>
<ins class="thisissecondscript"
style="display:inline-block;width:336px;height:280px"
data-client="CDEF"
data-slot="4496122889"></ins>
<ins class="thisisfirstscript"
style="display:inline-block;width:336px;height:280px"
data-client="ABCD"
data-slot="4397140188"></ins>
现在,您可以看到class="thisisfirstscript"
重复两次。因此,当我使用已解答的正则表达式时,它会从第一个class="thisisfirstscript"
到第三个class="thisisfirstscript"
进行选择,这意味着class="thisissecondscript"
也包括在内。但是,我想只选择特定的class="thisisfirstscript"
答案 0 :(得分:0)
试试这个:
/(?:<ins class="thisissecondscript")([\s\S]*)?(?:data-slot="4496122889"><\/ins>)/
编辑:根据更新问题,请尝试以下方法:
/(?:<ins class="thisisfirstscript")([\s\S]*?)(?:data-slot="4397140188"><\/ins>)/gm