繁体   English   中英

正则表达式Notepad ++替换

[英]Regular Expression Notepad++ replace

我正在尝试仅替换此代码块中的“删除”字符串:

<table asldkjf>
remove
remove
remove
<tr>

问题是将'asldkjf'字符串保留在表标记内。

我尝试更换

<table[^>]*>[^<]*<tr>

<table[^>]*><tr>

我得到了

<table[^>]*><tr>

这是不正确的,因为它将'asldkjf'替换为'[^>] *'

我已经尝试根据参考进行替换

<table[^>]*>[^<]*<tr>

<table$1><tr>

我得到了

<table><tr>

这也是不正确的。

使用捕获组并围绕模式,您要在替换中使用其文本。 您可以使用$n引用它们,其中n是捕获组的编号。

有关捕获组如何工作的更多信息,请查看此答案

找什么:

(<table[^>]*>)[^<]*(<tr>)

用。。。来代替:

$1$2

您可以使用此reegx

(?<=<table asldkjf>).*(?=<tr>)

并替换为空字符串。 使用dotall修饰符。

DEMO

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM