2014-01-28 2 views
4

일부 난수가있는 로그가 있습니다.notepad ++ 특정 숫자보다 큰 숫자 찾기

내가 특정 수보다 큰 번호를 찾을 수 있습니다 싶지 예 : 모든 번호가

1234567 아무도 도와 드릴까요> 찾을?

+0

나는 그 숫자가 아무 것도 될 수 있다고 생각하지 않는다. 정규식에서 숫자 범위 검사를 할 수는 있지만 천장이 무한대라면 정규 표현식을 사용하는 것이 가능하거나 불가능할 수도 있습니다. –

+0

숫자가 줄의 시작 부분에 있으면 줄을 정렬 할 수 있습니다. 그렇지 않다면 regex search-replace를 사용하여 먼저 정규 표현식을 옮길 수 있습니다. 숫자로 된 정렬이 아니기 때문에 염두에 두십시오. 따라서 2보다 앞에 10을 얻을 것입니다. 그러나 도움이 될 수 있습니다. – user694733

답변

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 만 작동합니다.

2

Notepad ++의 Python Script 플러그인을 사용할 수 있습니다. 최고의 솔루션은 아니지만 작동합니다!

  1. 플러그인 관리자 또는 official website에서 Python 스크립트 플러그인을 설치하십시오.
  2. 그런 다음 플러그인> Python 스크립트> 새 스크립트로 이동하십시오. 새 파일의 파일 이름을 선택하고 (예 : find_numbers.py) 다음에 나오는 코드를 복사하십시오.
  3. 플러그인 실행> Python 스크립트> 스크립트> find_numbers.py와 일치하는 숫자가 새 창에 표시됩니다.
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 

당신이 선호하는 방식.

관련 문제