2009-08-04 7 views
3

저는 Twitter 구문을 정규식과 비교하려고합니다.정규식 일치, 매우 간단합니다 :

"@______"은 @ 기호로 시작하고 단어의 끝까지 공백, 문자 및 숫자가 뒤 따르는 것을 어떻게 찾을 수 있습니까? 간단한 그

+0

앞으로는 RegEx 질문에 사용하는 방언 (.NET, Perl, ECMAScript/JavaScript 등)을 메모 할 때 유용 할 수 있습니다. 약간의 차이가 있습니다. – richardtallent

답변

6

이동뿐만 아니라 추출 일치하는 이름을 얻을 수 있습니다.

+0

이것은 유효한 이름 집합에만 적용됩니다. I18N 이름에는 작동하지 않습니다. 트위터는 그것을 처리 할 수있는 매우 광범위한 REGEX를 제공합니다. –

+0

알 트위터 계정에 대해 유효하지 않은 @@ 또는 @ h * 같은 것을 테스트하면 위의 regexp와 함께 유효한 표현으로 표시됩니다. –

+0

@JohnYeary'Twitter에서 처리 할 수있는 매우 광범위한 REGEX를 제공합니다. ' , 당신은 그것에 대한 링크를 제공 해주실 수 있습니까? –

5

@\w+

을 (트위터에, 나는 답장 사람의 이름과 일치 할)? 숫자 캐릭터

+0

w에 숫자가 포함되어 있습니까? – DOK

+0

당신 앞에는 \가 있어야하고 아마도 +가 아닌 +를 사용하고 싶을 것입니다. (이름없이 @는 유효하지 않습니다). – Amber

+0

나는 거기에 슬래시를 넣었다. *를 –

0
@[\d\w]+ 

\ d를
단어 캐릭터
[]는
+ 캐릭터 등급이 그

주 이상의 인스턴스를 표현하는 문자 클래스를 나타내는 데 승 \ 단어 및 숫자 문자에 대한 지정자는 언어에 따라 다릅니다. 언어 스펙을 확인하십시오.

/@(\w+)/

에 대한

+4

\ w에는 실제로 숫자가 포함되어 있으므로 @ \ w +로 충분합니다. – Amber

+1

\ w는 영숫자 –

+0

입니다. "\ w"로 표시된 다른 대답이 가장 좋습니다. – richardtallent

2

당신이 또한 일치 할 수 있도록 트위터가 더 이상, 15 자보다 긴 사용자 이름을 허용 관찰되지해야합니다

@\w{1,15} 

이 15 자보다 긴 사용자 이름과 아직 분명히 몇 사람이 있지만,에 테스트 가능성이있는 가양 성을 제외하려면 15가 좋을 것입니다.

사용자 이름, 복수 밑줄 등의 시작 또는 끝 부분에 밑줄을 사용할 수 있는지 여부에 대한 규칙은 없으며 사용자 이름이 "_"인 사람뿐 아니라 한글자 이름이있는 계정이 있습니다.

0

유효한 트위터 이름, 언급 등을 얻는 방법에 대한 매우 광범위한 API가 있습니다. Twitter에서 제공하는 Java 버전의 API는 github twitter-text-java에서 찾을 수 있습니다. 이것이 당신이 사용할 수있는 것이라는 것을보기 위해 그것을 보길 원할 것입니다.

트위터 이름의 유효성을 검사하는 데 사용했으며 매우 효과적입니다.