2010-05-10 5 views
1

일부 데이터를 구문 분석하려고하는데 정규 표현식에서 읽기 시작하여 매우 익숙합니다. 이것은 내가 가지고있는 코드는 지금까지파이썬에서 정규 표현식 검색

String = "MEASUREMENT 3835 303 Oxygen:  235.78 Saturation:  90.51 Temperature:  24.41 DPhase:  33.07 BPhase:  29.56 RPhase:  0.00 BAmp:  368.57 BPot:  18.00 RAmp:  0.00 RawTem.:   68.21" 
String = String.strip('\t\x11\x13') 

String = String.split("Oxygen:") 
print String[1] 
String[1].lstrip 
print String[1] 

내가 뭘하려고하는 것입니다 것은 산소 데이터 (235.78)을 제거하고 정규 표현식 검색을 사용하여 자신의 변수에 넣어이다. 쉬운 해결책이 있어야한다는 것을 알고 있지만 정규 표현식이 어떻게 작동하는지 알아 내려고하고 있으며 머리를 다 치고 있습니다. 어떤 도움 주셔서 감사합니다

리차드

+1

'문자열 '은 파이썬에서 유효하지만 혼동을 일으키는 변수 이름입니다. – msw

답변

1
import re 
string = "blabla Oxygen:  10.10 blabla" 
regex_oxygen = re.compile('''Oxygen:\W+([0-9.]*)''') 
result = re.findall(regex_oxygen,string) 
print result 
0

무엇을 원하십니까? 이와 같은 목록의 일반 구문 분석

print String.split()[4] 
+0

데이터에 쓰레기를 가져 오지 않았는지 확인하십시오. 일치하지 않으면 다른 방법으로 처리 할 수 ​​있습니다. – Richard

+0

그래서'[3] '요소가'Oxygen :'과 같아야합니다. –

2
re.search(r"Oxygen: *([\d.]+)", String).group(1) 
+0

nit-pick :'r'Oxygen : \ s * (\ d + (\. \ d +)?)''는 'Oxygen :'과 값 사이의 공간을 필요로하지 않으므로 예기치 않은 입력에 더 많이 부딪 힐 수 있습니다. 정수뿐만 아니라 정수도 받아 들일 것입니다. "당신이 받아들이는 것에서 자유주의"- 존 포스텔 – msw

0

import re 
String = "MEASUREMENT 3835 303 Oxygen:  235.78 Saturation:  90.51" 
String = String.replace(':','') 
value_list=re.split("MEASUREMENT\W+[0-9]+\W+[0-9]+\W",String)[1].rstrip().split() 
values = dict(zip(value_list[::2],map(float,value_list[1::2]))) 
-1

가 내 공유하고 싶습니다 수 있을까?이 이메일입니까? regex expresion, 당신에게 영감을주기 위해서. :)

9 emailregex = "^[a-zA-Z.a-zA-Z][email protected]$" 
10 
11 def validateEmail(email): 
12   """returns 1 if is an email, 0 if not """ 
13   # len([email protected]) = 17 
14   if len(email)>=17: 
15     if re.match(emailregex,email)!= None: 
16       return 1 
17   return 0 
0

나는 특정 문제에 대한 답변이 게시되었습니다. 그러나 파이썬 정규 표현식에 대한 몇 가지 ressource를 보여 드리고 싶습니다. python documentation on regular expression은 시작할 수있는 장소입니다.

O'reilly도 many good books on the subject입니다. 정식 표현을 깊숙이 이해하고 싶거나 제대로 작동 시키려면이 중 하나를 선택하십시오.

마지막으로 regular-expressions.info은 주류 언어 간의 정규 표현식에 대한 좋은 리소스입니다. 웹 사이트에서 정규 표현식을 테스트 할 수도 있습니다.