파이썬 정규식을 사용하여 매우 큰 로그 파일을 분석 중입니다. 앞에 'java :'가 붙은 숫자를 제외하고 로그 파일의 모든 숫자를 대체해야합니다 (로그 파일은 Java 프로그램에 의해 작성됩니다).일치하는 문자열 앞에 문자열이 없습니다.
이것은 우리가 말하는 라인을 가지고 주어진 것을 의미한다 :
이 제한 = 300은 53 라운드를하고있는 가짜 테스트 라인이며, 오류가 (Abc.java:417)에 좀 더
숫자 300과 53를 교체해야하지만 417
I는 라인 단위로 필터링하고, 모든 라인 java:[number]
를 포함하는 것이 주목되어야한다.
내가 찍었을 가장 가까운이 ((?<!java:)[0-9]+)
시도한 내용은 무엇입니까? 무언가를 시도하는 것은 배우는 과정이므로, 그렇게해야합니다. – HamZa
조회 ** 부정적인 표정 어설 션 **. 그들은 당신이하고있는 것을 정확하게하기 위해 고안되었습니다. –
죄송합니다. 끝나기 전에 실수로 질문을 저장했습니다. 이제 업데이트되었습니다. 나는 부정적인 lookbehind를 시도했으나 숫자가 아닌 문자가 나타날 때까지 다음 숫자 중 어느 것과도 일치하지 않게하는 데 어려움이 있습니다. – beruic