2012-11-29 5 views
2

내가 파이썬에서 정규 표현식에 약간의 문제가 있어요. 는 HTML 문자열은 다음과 같습니다정규 표현식 비 ASCII 문자

html = <td style="padding-right:5px;"> 
<span class="blackText">Above £ 7.00 = </span> 
</td> 
<td> 
<span class="blackText"> 
<p>Free</p> 
</span> 
</td> 

내가 "7.00"과, 그러나 다음은 작동하지 않습니다 "무료"추출 할 :

양 = re.findall를 (R ' 위의 (£ *.) = ', html)

파이썬은 £ 기호에 대해 비 ASCII 오류를 발생시킵니다. 이 문제를 어떻게 해결할 수 있을까요? 감사.

+0

http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – lolopop

답변

5
amount = re.findall(r'Above \xC2 (.*?) =', html) 
+0

어떻게 얻었 는가 '\ xC2'? 내 파이썬은 스털링 심볼에 대해'\의 xa3'을 사용하고있는 것으로 보인다. – chrisaycock

+1

@chrisaycock - 인코딩에 따라 다릅니다. '\ xa3'는 html 엔티티입니다. '\ xC2'은 UTF-8입니다. 참조 (http://www.fileformat.info/info/unicode/char/a3/index.htm) –

+0

@JayWalker 아 – chrisaycock