搜索&使用正则表达式替换Notepad ++中表达式的第一个字符

时间:2015-08-03 09:45:29

标签: regex notepad++

我想替换"< p>"标记为"< p class =" myclass">"以下html中的类与Search&在Notepad ++中替换(使用正则表达式)函数

<p><?php echo $element_arr["a1_discount"]; ?></p>
<p><?php echo $element_arr["b2_discount"]; ?></p>
<p><?php echo $element_arr["c5_discount"]; ?></p>

我能够将上述内容与以下注册表匹配:

RegEx: (<p><\?php echo \$element_arr\["[A-Za-z][1-99]_discount"\]; \?>)

我尝试了以下替换reg-ex但它无法正常工作:

(<p class="myclass"><\?php echo \$element_arr\["[A-Za-z][1-99]_discount"\]; \?>)

它出现为:<p class="cool"><?php echo $element_arr["[A-Za-z][1-99]_discount"]; ?></p>

有人可以帮我解决这个问题。这将是一个巨大的节省时间,因为我有很多编辑这样的性质。

非常感谢

DKJ

3 个答案:

答案 0 :(得分:0)

你甚至不需要正则表达式。只需搜索

<p>并将其替换为<p class="myclass">

答案 1 :(得分:0)

如果您有其他具有各种属性的p标记,则可以使用以下方法:

  1. 运行S&amp; R,(<p[^<>]*\bclass=")[^"]*("[^<>]*>)正则表达式替换为$1myclass$2Regular Expression选项ON)。
  2. 这适用于像

    这样的字符串
    <p class="someclass">text</p>
    <p id="new" class="someclass">text</p>
    <p id="new" class="someclass" end="true">text</p></code>
    
    1. 运行S&amp; R,<p\b(?![^<>]*\bclass=)([^<>]*)>替换为<p$1 class="myclass">,用于没有属性或没有class属性的段落标记。
    2. 这适用于像

      这样的字符串
      <p>text</p>
      <p id="new">text</p>
      

      如果您决定使用任何具有常规编程语言的HTML解析器,则可以轻松删除此复杂性。

答案 2 :(得分:0)

怎么样:

找到:<p>(?=<\?php echo \$element_arr\["[A-Za-z][1-9][0-9]*_discount"\]; \?>)
替换为:<p class="myclass">

(?=...)是一个积极的预测,确保您在<?php echo ...

标记后面有<p>