使用正则表达式选择文本

时间:2016-03-14 11:14:33

标签: regex notepad++

我想使用正则表达式选择一段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"

1 个答案:

答案 0 :(得分:0)

试试这个:

/(?:<ins class="thisissecondscript")([\s\S]*)?(?:data-slot="4496122889"><\/ins>)/

Online Demo

编辑:根据更新问题,请尝试以下方法:

/(?:<ins class="thisisfirstscript")([\s\S]*?)(?:data-slot="4397140188"><\/ins>)/gm

Online Demo