2011-01-19 4 views
1
나는 텍스트의 라인을 포맷 한

에 문자열에서 텍스트를 선택하는 즉 * 단어와 괄호 사이에 텍스트를 의미정규 표현식은 파이썬

[[item1 *,* {_item2*} *;{item3*}* ;{item4*}*]] 

. *에서 변수로 텍스트를 수집 할 수 있습니까?

item1, after1, before2, item2, after2, item3, after3, item4, after4, afterall = re. ??? 
+0

"형식있는 텍스트"에 대한 자세한 사양을 제공하십시오. 실제 사용 가능한 예제를 사용하여 시험해보십시오. –

답변

1

정규 표현식으로 할 수 있어야합니다.

http://docs.python.org/library/re.html

당신은 나중에 꺼내하려는 식의 부분 주위에 괄호를 넣을 수 있습니다.

* 부품 또는 품목 부품을 잡지 않으시겠습니까? * 부품을 잡으려고하면 너무 열심히해서는 안됩니다.

import re 

reg = r'\[\[item1 (.*),(.*) {_item2(.*)} (.*);{item3(.*)}(.*) ;{item4(.*)}(.*)\]\]' 
match = re.match(reg, text) 
# You grab items by index. Starting from 1, 0 is the entire match 
item1 = match.group(1) 
item2 = match.group(2) 

당신이 원하는 것과 일치 시키려면 그걸 가지고 놀아야 할 것입니다.