正则表达式用于查找和替换特定类的锚点的扩展

时间:2018-03-21 06:53:46

标签: regex notepad++

我有一个项目,我需要将网址从wikispaces格式转换为wordpress。我要找的是替换

  

html的

  

/

其中文本采用以下格式

<a class="identifier-class" href="<some_variable_url>.html>......</a> 

<a class="identifier-class" href="<some_variable_url>/>......</a> 

我可以使用什么字符串替换正则表达式在Notepad ++中替换它

2 个答案:

答案 0 :(得分:2)

首先,你应该总是展示你到目前为止所尝试的内容。 其次,答案是:

查找字段中输入此内容:

a class="identifier-class" href="([^"]*?)\.html*?"

()中包含的内容表示捕获此字符串。这是你需要的字符串。这就是我在外面添加 .html 的原因。您看到\.html而不是.html的原因是这样的。 (点)是正则表达式模式中的一个特殊字符,需要进行转义才能被视为一个简单的点。

替换为中,您可以写下:

a class="identifier-class" href="$1/"
在这种情况下

$ 1 是在()中捕获的字符串(请参阅上面的说明)

我测试了以下字符串(请注意,还有一个链接另一个标识符类 - 不是我将被跳过)

<a class="identifier-class" href="/some_variable_url/cucu.html"/>......</a> <a class="identifier-class" href="/anotehr_variable_url/mucu.html"/>......</a> 
<a class="another-identifier-class-not-me" href="/some_variable_url/cucu.html"/>......</a>
<a class="identifier-class" href="/anotehr_variable_url/mucu.html"/>......</a> <a class="identifier-class" href="/some_variable_url/cucu.html"/>......</a>
<a class="identifier-class" href="/anotehr_variable_url/mucu.html"/>......</a> 

enter image description here

答案 1 :(得分:2)

这就是工作:

  • 控制 + ħ
  • 找到:<a class="identifier-class" href="[^"]+\K\.html(?=")
  • 替换为:LEAVE EMPTY
  • UNcheck Match case
  • 检查环绕
  • 检查正则表达式
  • 全部替换

<强>解释

<a class="identifier-class"  : literally
href="[^"]+ : search for href=", followed by 1 or more any character that is not double quote "
\K          : forget all we have seen until this position
\.html      : literally ".html"
(?=")       : lookahead, make sure we have '"' after