2016-08-20 2 views
0

나는 내가 찾은 모든 것을 다 써 버렸고, 제대로 작동하지 않는 것 같습니다. 트위터 게시물의 행이있는 .txt가 있고 텍스트에서 언급 된 @handle 이외의 모든 것을 삭제하려고합니다.Regex에서 트위터 핸들을 제외한 모든 텍스트를 선택하려고 시도했습니다.

예를 들어

:

ROW1 :이 Handle1

행 2 @ 트윗의 텍스트입니다 :

:이 텍스트는 초래 Handle3

@ Handle2과 @ 의미

행 1 : @ Handle1

행 2 : @ Handle2 @ Handle3

은 나뿐만 핸들 선택하는 정규식 표현을 마련했습니다 공백없이 그들이 콜론 또는 즉시 후 기간이 경우에도 집합의 모든 핸들 작동

이 (자주 발생)을 . (?!(@[^\W]*))

하지만 난 정말 모르는 다른 무엇 작동하도록 추가 :

나는 그것에 부정적 예측 명령을 추가하는 시도?

감사합니다.

+0

안녕하세요, 잘못된 결과를주는 예제 짹짹을 추가하십시오. 어떤 결과가 나타 났는지 – smead

+0

['s (@ .) */m, '\ 1') .strip'] (http://ideone.com/1P1j6G) –

답변

2

그래서 각 행을 반복하여 트위터 핸들을 검색 할 수 있습니다. 예를 들어

,

str = "This text is meant for @Handle2 and @Handle3" 

str.scan(/@\w+/).to_a #=> ["@Handle2", "@Handle3"] 

그런 다음 당신은 그러나 당신이 원하는 배열을 조작 할 수 있습니다.

\w은 영숫자 및 밑줄 문자입니다. 다른 문자가 필요하면 수정할 수 있습니다.

관련 문제