记事本++查找大于特定数字的数字

时间:2014-01-28 12:56:32

标签: find notepad++

我有一些随机数字的日志。

我想要做的是找到大于特定数字的数字,例如:找到所有数字> 1234567。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:2)

一个奇怪的正则表达式(不确定它真的有用):

\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

它仅适用于您必须将其修改为另一个数字的数字1234567

答案 1 :(得分:2)

你可以使用Notepad ++的Python Script插件。不是最好的解决方案,但它确实有效!

  1. 从插件管理器或official website安装Python脚本插件。
  2. 然后转到插件> Python脚本>新脚本。选择新文件的文件名(例如find_numbers.py)并复制后面的代码。
  3. 运行插件> Python脚本>脚本> find_numbers.py和一个新窗口将显示匹配的数字。
  4. 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)))
    

    例如,请参阅此文:

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

    以上解决方案将为您返回:

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

    您可以明显更改脚本,以您喜欢的任何方式输出信息。