Notepad ++正则表达式-仅在某些列中搜索两个数字之间的所有数字?

时间:2018-07-12 18:40:40

标签: regex search notepad++

我现在有2.5亿行来自数据库的文本。

我只想突出显示仅在第三列中的某些值。 我使用此\b1011(3[1-9]\d[1-9]|[4]\d\d\d|5[0-8][0-3][0-6])\b突出显示10113101至10115836之间的所有值。 可以排除第4列中的数字吗?

编辑:一列对我而言意味着空格之间的文本

1           2        3      4     5  ..... columns
307607 1317011864 10113101 -25 13135611 2700 0 0 0 12 0 0 0 walk029h.rwx
2264 910115836 10114632 -15 20111192 900 0 0 0 11 0 0 0 walk029.rwx
326169 1010523891 10115836 -1 20911192 0 0 0 0 11 0 0 0 walk12h.rwx
38718 826265392 10113628 0 10114603 2700 0 0 0 11 0 0 0 street2.rwx
241512 1317011864 636346 0 10113987 900 0 0 0 12 0 0 0 walk029h.rwx
38718 826266129 10113448 0 10114310 900 0 0 0 10 0 0 0 tree5m.rwx
38718 826266243 10113898 0 10114810 900 0 0 0 10 0 0 0 tree9m.rwx

1 个答案:

答案 0 :(得分:1)

This pattern仅在第三列中捕获您想要的数字。请参阅捕获组1的值。

^(?:\S+\s){2}\b(1011(?:3[1-9]\d{2}|4\d{3}|5[0-8][0-3][0-6]))\b.*

我所做的只是修改您的前缀以添加前缀并删除了一些冗余。