이것은 파이썬에서 조건부 정규 표현식을 포함하는 질문 :파이썬 조건부 정규 표현식
내가
와 문자열" a"
을
match(1)="a"
match(2)="b"
match(3)="c"
로 문자열을 "abc"
일치뿐만 아니라 일치하고 싶습니다
match(1)="a"
match(2)=""
match(3)=""
다음 코드는 ALMOST가 수행하는 코드입니다. 첫 번째 경우는 match(1)="a"
bu입니다. 두 번째 경우에는 match(4)="a"
(원하는 경우 match(1)
이 아님).
실제로 모든 그룹을 반복하여 for g in re.search(myre,teststring2).groups():
으로 처리하면 예상 한대로 3 개가 아니라 6 개의 그룹이 생성됩니다.
import re
import sys
teststring1 = "abc"
teststring2 = " a"
myre = '^(?=(\w)(\w)(\w))|(?=\s{2}(\w)()())'
if re.search(myre,teststring1):
print re.search(myre,teststring1).group(1)
if re.search(myre,teststring2):
print re.search(myre,teststring2).group(1)
의견이 있으십니까? (파이썬 2.5에 대한 것임)
을 당신이 옳은 것 - 이것들은 다음 두 가지 경우에만 있습니다. 내가 바라는대로 작동합니다. 열쇠는 "?" 일치하는 그룹 (\ w?) 안에 있으므로 문자와 일치하거나 아무 것도 일치하지 않습니다. 감사! – Mike
@Mike, 언제든지 환영합니다. 언제나 도와 드리겠습니다! –