我们如何使用正则表达式在Notepad ++中删除特定字符串周围不需要的文本?不必删除带数字的字符串。我们需要的数字(字符串)总是被“onRemoveVariable([0-9] *)”包围。
来源:
<table>
<tr><td style="css">
<a href="#" onclick="onRemoveVariable(12354);">del</a>
<a href="#" onclick="onEditVariable(1235446);">edit</a>
</td></tr>
<tr><td style="css">
<a href="#" onclick="onRemoveVariable(1231584);">del</a>
<a href="#" onclick="onEditVariable(12354631);">edit</a>
</td></tr>
结果:
12354
1231584
有人有想法吗?
Beste问候 马里奥
答案 0 :(得分:1)
您需要找到前面有\d+
的所有数字onRemoveVariable(
和后面的)
。
使用前瞻和后瞻断言。
(?<=onRemoveVariable\()(\d+)(?=\))
答案 1 :(得分:1)
您可以使用此正则表达式删除除onRemoveVariable
部分之间的数字之外的所有内容:
^.*?onRemoveVariable\((\d+)\).*$|.*
这将首先尝试获取数字,如果没有找到,则匹配整行。
替换字符串:
$1
如果数字匹配,则替换字符串将仅返回该数字。如果没有,则$1
将为空,结果将为空行。
如果您现在想要删除多个空行,可以使用以下内容:
\R+
并替换为:
\r\n
然后手动删除任何剩余的空行(此替换最多可以有2个,一个在开头,一个在结尾)。 \R
匹配任何换行符,\R+
匹配多个换行符。因此,上面用单个换行符替换了多个换行符。
^ # Beginning of line
.*? # Match everything until...
onRemoveVariable\( # Literal string oneRemoveVariable( is matched
(\d+) # Store the digits
\) # Match literal )
.* # Match any remaining characters
$ # End of line
| # OR if no 'onRemoveVariable(` is found with digits and )...
.* # Match the whole line
答案 2 :(得分:0)