2013-06-05 2 views
0

좋아 여러 가능한 값 그룹, 그래서파이썬 정규식

#!/usr/bin/python 
import re 
string = "val1=1 val2=2 val3=234" 
valfinder = re.compile('val\d=(?P<values>\d)') 
vals = valfinder.search(string) 
print(vals.group('values')) 

가 출력합니다 파이썬에서이 작은 정규식 프로그램이이 모든 다른 값에 일치 할 수있는 방법은 무엇 1.
? 어떻게 액세스 할 수 있습니까?

답변

1

사용 중 findall() 예를 들어, 경기 객체의 반복자를 얻기 위해 문자열 또는 finditer()과 일치의 목록을 얻을 수 있습니다 :

>>> valfinder.findall(string) 
['1', '2', '2'] 
>>> for match in valfinder.finditer(string): 
...  print match.group('values') 
... 
1 
2 
2 

참고 findall() 변화의 행동이 얼마나 많은 캡처에 따라 있음 그룹은 당신의 정규식에 있습니다. 결과의 각 요소가 전체 일치와 함께 캡처 링 그룹이없는 경우 캡처 그룹이 하나 인 경우 각 요소는 해당 그룹과 일치하며 둘 이상의 그룹이있는 경우 각 요소는 그룹 일치의 튜플이됩니다 .