Regex用于删除notepad++中包含一定数量数字的字符串



如果我有以下行,如何

  1. 只留下10-11位以"04"开头的长字符串。或"05年"。不要删除空行。
0409999999  012345678
012345678   0409999999
023456789   034566  0455555555
012345678   012345678
0299999999

所以上面的行应该看起来像:

0409999999
0409999999
0455555555

我建议使用pattern

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

解释:

b-字边界

d{0,9}-最多匹配9位

|-交替

0-匹配0

[45]- match 4或5

Regex演示

编辑

更新后可以使用[ t]*(?!0[45]d{8,9})bd+[ t]*

不同之处在于,它使用负向前看来确保前面不是以04或05开头的10-11位数字。

[ t]用于裁剪空格和制表符。

那么你只需要将它替换为空字符串。

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

最新更新