notepad++ find number greater than a specific number

后端 未结 2 1113
谎友^
谎友^ 2020-12-18 05:22

I have logs with some random numbers.

What I want to do is find numbers greater than a specific number, eg : find all number > 1234567.

Can

相关标签:
2条回答
  • 2020-12-18 06:17

    A weird regex (not sure it's really usefull) :

    \d{8,}|123456[8-9]|12345[7-9]\d|1234[6-9]\d{2}|123[5-9]\d{3}|12[4-9]\d{4}|1[3-9]\d{5}|[2-9]\d{6}\b
    

    It works only for the number 1234567 you have to modify it for another number.

    0 讨论(0)
  • 2020-12-18 06:27

    You could use Notepad++'s Python Script plugin. Not the best solution, but it works!

    1. Install Python Script plugin, from Plugin Manager or from the official website.
    2. Then go to Plugins > Python Script > New Script. Choose a filename for your new file (eg find_numbers.py) and copy the code that follows.
    3. Run Plugins > Python Script > Scripts > find_numbers.py and a new window will show the matched numbers.
    from re import finditer
    
    number = 1234567
    
    console.clear()
    console.show()
    content = editor.getText()
    for row, line in enumerate(content.split('\n')):
        for m in re.finditer(r'[0-9]+', line):
            if int(m.group(0)) > number:
                console.write('row %d, col %d-%d: %s\n' % (row, m.start(), m.end(), m.group(0)))
    

    So for example take this text:

    This is a test 1234568
    with asome pretty big numbers 0 1234567
    Can anybody help?
    999999999999 99999999
    123
    

    The above solution will return you this:

    row 0, col 15-22: 1234568
    row 3, col 0-12: 999999999999
    row 3, col 13-21: 99999999
    

    You can obviously change the script to output the information in any way you prefer.

    0 讨论(0)
提交回复
热议问题