2012-11-16 3 views
2

내 응용 프로그램에서 트윗을 필터링하고 텍스트에 특정 단어가있는 트윗을 모두 반환하려고합니다. 그래서 내가 BBC를 걸러 내고 있다면 나는 BBC의 모든 경우를 원한다. BBC, bbc, BBC1, # BBC, @bbc, 어떻게 정규 표현식을 쓸 수 있을까요?트위터 데이터에 Python regex 사용

지금까지 내가 뭘 :

re.compile(r'#|@[0-9]'+term, re.IGNORECASE) 

기간이 단어를 포함하는 목록과 내가 추가 @ 또는 # 또는 0-9 prepending이 함께 목록에 만 단어를 반환하거나 단어를 추가하려면 OR 그 자체로 단어.

감사

+1

플러스 기호는 아마 내가 그렇게한다면 * 괄호가 ... – kindall

+0

, 나는이 오류가 외부 *해야합니다 " encountered 예외 : & : 'str'및 'int'에 대해 지원되지 않는 피연산자 유형 " – user94628

+1

따옴표 밖의 * 대괄호 * 외부! 그것은 여전히 ​​정규 표현식의 일부입니다 ... – kindall

답변

2

은 전체 단어를 찾기 위해 '\b' 구분 기호를 사용하여

re.compile(r'\b(?:#|@|)[0-9]*%s[0-9]*\b' % re.escape(term), re.IGNORECASE) 
+0

고마워. – user94628