텍스트 파일 (예 : test.txt)이 있습니다.변수 입력이있는 python 정규식
a ......
aa ......
a+a .....
aa+ .....
a+ .....
aaa .....
.........
이제 특정 문자열의 줄 번호를 찾고 싶습니다. 예 : 'a', 'aa +'등. 나는 정규식을 사용하여 입력 문자열의 정확한 일치를 찾으려고 노력했다.
name='a'
import re
p = re.compile(r'\b'+re.escape(name)+ r'\b')
i=0
with open('test.txt') as inpfile:
for num, line in enumerate(inpfile):
if p.search(line):
print num
프로그램은 "0"만 인쇄하지만 인쇄는 0,2,4입니다.
내 예상 출력된다
name='a'
출력 : 0
name='aa'
출력 1
name='aa+'
출력 : 3 등 ...
는 I 이해 정규 표현식 내가 위에 사용 된 것은 정확하지 않습니다. 그러나 정규 표현식을 컴파일하여 모든 패턴에 대해 원하는 출력을 제공하는 의견/제안을 공유하는 것이 도움이 될 것입니다.
감사합니다.
설명해 주셔서 감사합니다. 실제로 텍스트 파일의 각 줄에 더 많은 내용이 있습니다 .. 난 혼란을 피하기 위해 텍스트 파일을 편집했습니다. 그러나 귀하의 제안을 시도했지만 모든 패턴에 대해 작동하지 않습니다. 추가 의견이 도움이 될 것입니다. – rana
"모든 패턴에서 작동하지 않습니다." 어떤 패턴이 효과가 없으며 대신 무엇이 발생합니까? – kindall
감사합니다, 그 모든 패턴을 위해 일하고. 내 이전의 코멘트에 대해 유감스럽게 생각합니다. 나는 당신의 제안을 시도하는 동안 몇 가지 실수를했다. 도와 줘서 고마워. – rana