2016-09-22 2 views
-1

파이썬의 디버그 문장에서 처음으로 3 또는 4 ASCII 확장 코드를 제거해야하지만 지금은 할 수 없습니다.파이썬에서 구문 분석 처음에 ASCII 확장 문자가 있음

ª!è[002:58:535]REGMICRO:Load: 36.6

ëª7è[001:40:971]HTTP_CLI:Http Client Mng not initialized.

내가 시도 :이 예입니다 ^.*[A-Za-z]+$

[\x80-\xFF]+HTTP_CLI:0 - Line written in.*

그러나 모든 것이 무시되고 날이 오류를 제공합니다

"20160922 15:16:28.549 : FAIL : UnicodeEncodeError: 'ascii' codec can't encode character u'\x80' in position 1: ordinal not in range(128) 20160922 15:16:28.551 : INFO : ${resulters} = ('FAIL', u"UnicodeEncodeError: 'ascii' codec can't encode character u'\\x80' in position 1: ordinal not in range(128)") 20160922 15:16:28.553 : INFO : ('FAIL', u"UnicodeEncodeError: 'ascii' codec can't encode character u'\\x80' in position 1: ordinal not in range(128)")"

RIDE 및 Python을 사용하는 사람은 누구입니까?

감사합니다.

+0

당신이 말하는 문제가 RIDE합니다 (IDE)으로, 또는 로봇 프레임 워크 테스트 : kw를 사용하여 다음 "정규 표현식이 일치 오기"당신이 일치하는 그룹 파이썬 1.

거야? 그것들은 두 가지 다른 것들입니다. –

+0

미안, 문제는 RIDE, Python에서 실행 중입니다. 그래서 처음 3 ~ 4 chracters를 REGEX로 무시하고 싶습니다. 그러나 그 방법은 찾을 수 없습니다 ... – Sergi

+0

그래서이 문제는 다음과 같은 경우에만 발생합니다. 테스트 케이스를 편집 할 때 발생하며 테스트 케이스를 실행할 때 발생하지 않습니까? –

답변

1

RF로 대괄호 앞에있는 문자를 제거하는 방법에 대한 답변 (솔직히 질문을 정확하게 이해할 수 있다면 솔직히 - 확실하지 않습니다) - 시도한 정규식이 올바르지 않습니다. 첫 번째 대괄호 후 모든 것을 얻을하고 싶은 말은 :

${line}= Set Variable ëª7è[001:40:971]HTTP_CLI:Http Client Mng not initialized. 
${regx}= Set Variable ^.*(\\[.*$) 
${result}= Get Regexp Matches  ${line}  ${regx}  1 

당신이 후거야 정규식 (2 호선 ^) 라인의 시작부터, 1 대괄호까지 모든 것을 생략 "입니다 - 그리고이 대괄호에서 끝까지의 순서는 그룹 1 "입니다.

import re 
line = "ëª7è[001:40:971]HTTP_CLI:Http Client Mng not initialized." 
regx = "^.*(\\[.*$)" 
result = re.search(regx, line).group(1) # the value of result is "[001:40:971]HTTP_CLI:Http Client Mng not initialized."