2012-12-15 2 views
1

heyyyyhey (으)로 변환하는 방법 python regex? 이 내가 지금까지 내가 그것을 인쇄 할 hey how are you단어의 마지막 반복 문자를 제거하는 방법

를 인쇄

line="heyyy hoooow are you" 
word_normalize=compile(r'(\w)\1+') 
word_normalize.sub(r'\1\1',line) 

가지고 무엇을 : 헤이

내가 마지막에만 문자가없는 단축 할 수 있습니다 hoooow 다른 부분들.

무엇을 원했을 경우 hey hoow are you 즉 끝 문자가 반복되지 않고 다른 문자가 최대 2 회 반복됩니다.

답변

3

\b을 사용하면 단어의 끝에 일치하도록 할 수 있습니다. 내가이 같은 것을 원한다면`hoow 헤이 무엇

>>> re.sub(r'(\w)\1+\B', r'\1\1', re.sub(r'(\w)\1+\b', r'\1', line)) 
'hey hoow are you' 
+0

:

>>> re.sub(r'(\w)\1+\b', r'\1', line) 'hey hoooow are you' 

\b의 반대가 \B를 사용하여 다른 대체를 추가, 최대 두 번 반복 내부 편지를 얻으려면 you'즉, 끝 문자가 반복되지 않고 다른 문자가 최대 2 회 반복됩니다. –

관련 문제