2015-01-23 2 views
-1

꺾쇠 괄호가 포함 된 토큰을 추출하려고합니다. 123K>L이지만 > 문자는 꺽쇠 괄호로 구문 분석 할 수 없습니다.단일 꺾쇠 괄호를 포함한 토큰 추출

pattern=[(r'[0-9]+[a-z]>[a-z]','PATTERN')] 

을 또는 내가 백 슬래시를 사용하는 경우 각 브래킷의 역할을 무효화하기 : 예를 들어, 나는 다음이 있다면, 그것은 작동하지 않습니다

pattern=[(r'[0-9]+[a-z](\>)[a-z]','PATTERN')] 

어떤 아이디어?

답변

1

꺾쇠 괄호에는 문제가 없습니다. >은 그런 패턴으로 사용될 때 특별한 의미가 없습니다.

대신 문자 집합 [a-z]은 소문자 a에서 z까지만 일치합니다. 그러나 샘플 문자열 123K>L에는 대문자가 사용됩니다. 이것도 일치 시키려면 문자 세트 [A-Za-z]을 사용하십시오.

데모 (Demo) :

>>> import re 
>>> re.match('[0-9]+[A-Za-z]>[A-Za-z]', '123K>L') 
<_sre.SRE_Match object; span=(0, 6), match='123K>L'> 
>>> 
1

당신의 문자열 가능성이 문제가 대문자 것 같다, 다음 시도 :

[0-9]+[A-Z]>[A-Z] 

또는 당신은 단순히 수 있도록 인라인 대소 문자를 구별 수정을 사용할 수 있습니다 양자 모두.

(?i)[0-9]+[a-z]>[a-z] 
관련 문제