내가 정규식 문자열이 자바 스크립트에서 교체와 이상한 문제에 봉착했습니다.자바 스크립트 URL 검색 정규식
/(?:https?:\/\/|www\.)\S+/gi
내가 그것을 단 하나 개의 URL을 일치 문제로 실행 해요 그러나 : 나는 (예를 들어, 댓글 또는 게시물) 여러 URL의를 포함 할 수있는 문자열에서 URL의 검색이 정규식이 ... 그렇지 않을 때를 제외하고. 그것은 이상한 일이지만, 일반적으로 하나의 URL (항상 첫 번째 URL 일 필요는 없음) 만 일치시킵니다. 이 문자열을 가지고 :
는"Test
http://google.com
http://google.com
http://google.com"
그것은 첫 번째 http://google.com
인스턴스를 일치합니다.
str = str.replace(/(?:https?:\/\/|www\.)\S+/gi, '<a href="$&" target="_blank">$&</a>');
내가 일치되는 내용의 더 나은 아이디어를 얻을이 사용하고
하고 무엇을하지 않습니다 :
최종 목표는 링크 URL의를 대체하는 것입니다
function getMatches(re, str) {
var matches = [],
match;
while ((match = re.exec(str)) !== null) {
matches.push(match[0]);
}
return matches;
}
누구나 알고 내가 여기서 뭐하고 있는거야?
편집 : 문제를 일으키는 내 데이터를 계속 뭔가 재미가있을 것 같습니다. 잘
내 실수는 질문에 잘못 입력했습니다. 결정된. – coreyschram