使用正则表达式将字符串替换为两个字符串

时间:2019-06-11 05:27:45

标签: regex notepad++

我有一个这样的字符串,

<td><a href="/a/b/?v=d-e-2002-01-26&amp;id=13990" class="e_l">A B</a></td>

我想替换href=中的所有内容 由href="#"

5 个答案:

答案 0 :(得分:4)

只需使用模式href="[^"]+

说明:

href="从字面上匹配href="

[^"]+-匹配"以外的一个或多个字符

然后将其替换为href="#

Demo

答案 1 :(得分:3)

在这里,我们可能会使用类似于以下内容的表达式来消耗整个输入:

(.+href=")(.+?)(".+)

具有三个捕获组,然后我们将其替换为:

$1#$3

Demo

答案 2 :(得分:2)

这可以。

/ S-除空格外的任何字符。

查找: href =“ [\ S] +”

替换为: href =“#”

<td><a href="/home">A B</a></td>
<td><a href="/a/b/?v=d-e-2002-01-26&amp;id=13990">A B</a></td>
<td><a href="/a/b/?v=d-e-2002-01-26&amp;id=13990" class="e_l">A B</a></td>

答案 3 :(得分:2)

  • Ctrl + H
  • 查找内容:\shref="\K[^"]+
  • 替换为:#
  • 检查环绕
  • 检查正则表达式
  • 全部替换

说明:

\s          # 1 space
href="      # literally href="
\K          # forget all we have seen until this posiiton
[^"]+       # 1 or more any character but double quote

给出:

<td><a href="/a/b/?v=d-e-2002-01-26&amp;id=13990" class="e_l">A B</a></td>
<td><a href="/a/b/?v=d-e-2002-01-26&amp;id=13990" class="e_l">A B</a></td>

给定示例的结果

<td><a href="#" class="e_l">A B</a></td>
<td><a href="#" class="e_l">A B</a></td>

屏幕截图:

enter image description here

答案 4 :(得分:0)

您可以使用以下正则表达式:href=\".+?(?<=\")

See explanation on regex101...

您可以将正则表达式引入Find what:字段并将href="#"引入Replace with:字段以替换它们。还要检查Regular expression Search Mode