regex 正则表达式删除记事本++中包含一定数量数字的字符串

yqhsw0fo  于 2022-12-30  发布在  其他
关注(0)|答案(2)|浏览(205)

如果我有以下几行,如何
1.只保留以“04”或“05”开头的10-11位字符串。不要删除空行。

0409999999  012345678
012345678   0409999999
023456789   034566  0455555555
012345678   012345678
0299999999

因此上面的行应该如下所示:

0409999999
0409999999
0455555555
r1zk6ea1

r1zk6ea11#

我建议用

\b\d{0,9}|0[45]\d{8,9}\b

说明:
\b-字边界
\d{0,9}-最多匹配9位数字
|-交替
0-按字面匹配0
[45]-匹配4或5
Regex demo

    • 编辑**

更新后,您可以使用[ \t]*(?!0[45]\d{8,9})\b\d+[ \t]*
这里的不同之处在于它使用负向前看来确保前面的不是以04或05开始的10 - 11位数字。
[ \t]用于修剪空间和制表符。
然后你只需要用空字符串替换它。

mrfwxfqh

mrfwxfqh2#

\b(?!04|05)\d{1,9}\b|\b\d{10,11}\b

相关问题