2016-09-22 15 views
-1

Pythonのデバッグセンテンスから最初の3つまたは4つのASCII拡張コードを削除する必要がありますが、今はできません。Pythonの構文解析先頭にある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)である、あるいはロボットのフレームワークのテスト:キロワットを使用して次に、「正規表現がマッチゲット」あなたはマッチしたグループのpython 1.

取得しますか?それらは2つの異なるものです。 –

+0

申し訳ありませんが、問題はRIDEでPython上で実行されているので、REGEXで最初の3つまたは4つのchractersを無視するだけですが、それはどうですか? – 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 "です。

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." 
関連する問題