我现在有来自数据库的2.5亿行文本。
我只想突出显示某些值,这些值只在第三列中。我使用这个b1011(3[1-9]d[1-9]|[4]ddd|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。
^(?:S+s){2}b(1011(?:3[1-9]d{2}|4d{3}|5[0-8][0-3][0-6]))b.*
我所做的只是修改你的前缀并删除一些冗余。