injoon2018   3년 전

정규식을 이용하여 '<>'에 둘러쌓여있는 태그들을 추출하려고하는데요

인풋이   <ab cd>ef gh<ij kl>일 때, 

arr = re.split(r"<.+>", S)

이렇게하면 ['', '']  이렇게만 나오는 이유가 뭘까요? 저는 arr에 'ef gh'가 담길줄 알았습니다

그리고 혹시나 해서 해봤는데

arr = re.split(r"<.....>", S)

이건 또 ['', 'ef gh', '']  이렇게 잘 찾아내네요..

scvhero   3년 전

패턴을 r"<.+>" 로 쓰시면  <ab cd>랑 <ij kl>가 매칭되는게 아니라 <ab cd>ef gh<ij kl>가 통째로 매칭됩니다

https://regex101.com/ 같은 곳에서 직접 확인해 보세요

injoon2018   3년 전

@scvhero

감사합니다! 통째로 매칭되게 안하려면 

tmp = re.split(r"<.+?>", S)

이렇게 했어야했네요 

댓글을 작성하려면 로그인해야 합니다.