2014-09-25 3 views
1

내가 도망 갔지만 물음표와 일치하지 않습니다.
여러 개의 백 슬래시로 도피하고 re.escape()을 사용해 보았습니다.Regex는 물음표를 벗어날 수 없습니까?

무엇이 누락 되었습니까?

코드 :

import re 

text = 'test?' 
result = '' 

result = re.match(r'\?',text) 

print ("input: "+text) 
print ("found: "+str(result)) 

출력 : 단지 문자열의 시작에서 패턴과 일치

input: test? 
found: None 

답변

3

re.match; 워드 프로세서에서 같이

에서 0 개 이상의 문자 문자열의을 시작하는 경우, 정규 표현식 패턴과 일치하는 해당 일치하는 오브젝트를 돌려줍니다.

그래서, 다음 중 하나를

>>> re.match(r'.*\?', text).group(0) 
'test? 

또는 re.search

>>> re.search(r'\?', text).group(0) 
'?' 
+0

덕분에 나는 의미 문자열의 어떤 "시작"을 몰랐다 일반적으로 정규식 이후 (문자열 공백이없는 경우) 어떤 위치와도 일치합니다. – radry

+2

@radry 그것은 정규 표현식에 관한 것이 아니라 그 정규 표현식을 사용하는 함수에 관한 것입니다. –

관련 문제