只匹配特定部分而不是整行
Match only certain part instead of whole line
我有一堆这样的文字:
some text <a href="../media/image/aaa.html">aaa</a> some text
some text <a href="aaa.html">aaa</a> some text
some text <a href="bbb.html">aaa</a> some text
some text <a href="../media/ccc.html">aaa</a> some text
如何只搜索和匹配部分 :
href="
对于那些 link 没有
href="../media/
示例将仅匹配:
some text <a href="aaa.html">aaa</a> some text
some text <a href="bbb.html">aaa</a> some text
它不会匹配整行,而是匹配 href=" 部分
这样我就可以用 notepad++ 或 powergrep
替换它
我试过了:
^(?!.*..\/).*href=".*$
它不起作用:
this one work,但是,它匹配整行
任何帮助都会很棒。
你的第二个正则表达式 (^(?!.*..\/media\/).*href=".*$
) 已经不远了,但是你选择了整行(因此在 UI 中突出显示),因为 .*
和 .*$
.此外,零宽度负前瞻需要放在 之后 您正在寻找的模式。一共 you want:
href="(?!\.\.\/media)
注意 g
开关以确保匹配所有匹配项,而不仅仅是第一个匹配项。
我有一堆这样的文字:
some text <a href="../media/image/aaa.html">aaa</a> some text
some text <a href="aaa.html">aaa</a> some text
some text <a href="bbb.html">aaa</a> some text
some text <a href="../media/ccc.html">aaa</a> some text
如何只搜索和匹配部分 :
href="
对于那些 link 没有
href="../media/
示例将仅匹配:
some text <a href="aaa.html">aaa</a> some text
some text <a href="bbb.html">aaa</a> some text
它不会匹配整行,而是匹配 href=" 部分 这样我就可以用 notepad++ 或 powergrep
替换它我试过了:
^(?!.*..\/).*href=".*$
它不起作用:
this one work,但是,它匹配整行
任何帮助都会很棒。
你的第二个正则表达式 (^(?!.*..\/media\/).*href=".*$
) 已经不远了,但是你选择了整行(因此在 UI 中突出显示),因为 .*
和 .*$
.此外,零宽度负前瞻需要放在 之后 您正在寻找的模式。一共 you want:
href="(?!\.\.\/media)
注意 g
开关以确保匹配所有匹配项,而不仅仅是第一个匹配项。