2011-12-07 4 views
0

본문의 링크를 확인하는 데 사용하는 URL의 정규식 패턴이 있습니다. 유일한 문제는, 패턴이 링크URL의 텍스트 본문을 검사하는 정규식?

stackoverflow.com 

그리고이 문장 분명히

I'm a sentence.Next Sentence. 

내 패턴이 .co.uk에서, 강하지 체크 .COM을 수행하기 때문에이 나을 일치하는 것입니다. com.au 등

나는 stackoverflow.com과 일치하고 싶습니다. 후자는 아닙니다.

저는 정규 표현식 전문가가 아니기 때문에 위의 문장과 일치하지 않지만 본문 텍스트에서 모든 유형의 URL을 검사하기위한 훌륭한 Regex 패턴을 아는 사람이 있습니까?

도메인 확장자를 강하게 확인해야한다면 정착해야 할 것입니다.

내 패턴이 있습니다.하지만 도움이되지는 않습니다. 나는 확실히 여기에 (아마도 도메인 확장자에 강한 검사를 포함 할 것) 다른 사람이 만든 것을 작업 정규식을 찾는 것이 좋습니다,하지만 것

(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)[email protected])?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)? 
+0

Google에서 검색 할 수있는 정규식이 있습니까? 당신이 직접 만들어야 할 이유가 충분하지만, 내가 물어볼 줄 알았다. 또한, 어떤 언어 (정규식 이외의) 프로그래밍입니까? –

답변

1

은 기존 정규 표현식을 수정하는 하나의 가능한 방법입니다.

도메인 확장자에서 대개 대문자와 소문자가 섞이지 않는다는 가정을해야합니다. 예를 들어 .COM이나 .com은 볼 수 있지만, 그렇다면 대부분의 문장을 일치시키지 않아야합니다.

정규식의 중간에 [\w]{2,4}이 있으면 ([A-Z]{2,4}|[a-z]{2,4}) (또는 새로운 캡처 된 그룹을 원하지 않으면 (?:[A-Z]{2,4}|[a-z]{2,4}))으로 변경하십시오.

관련 문제