이 Regex ([a-zA-Z0-9]?(?:http[s]?://)?(?:(?:\w+)\.)(?:\S+)(?:\.(?:\w+))+?)
문자열 내에서 http://www.msn.com
또는 www.msn.com
또는 msdn.microsoft.com
또는 http://msdn.microsoft.com
발생을 성공적으로 찾습니다. 그러나 두 개의 대체 알고리즘이 필요합니다.이 알고리즘은 <a href=\"$1\" target=\"_blank\" onclick=\"preventDualEditing(event)\">$1</a>
이고이 하나는 <a href=\"http://$1\" target=\"_blank\" onclick=\"preventDualEditing(event)\">$1</a>
입니다. 차이점은 www.msn.com
과 같은 링크에 필요한 http://
문자열 앞에 붙는 것입니다.조건부 대체
하지만, 무엇 일어나고있는 것은 발견 된 첫 번째 occurance가 http://www.msn.com
하고 그래서 여러 번 그것을 대체하는 www.msn.com
를 교체하려고하면 내가 때문에 일을 엉망으로되어있는 대체 문을 사용하여 루프 - 그것은이를 발견 한 번 경우는 이미 http://
으로 연결하고 www.msn.com
을 발견하면 한 번 연결하십시오.
필요하다면 조건부로 http://
을 문자열에 추가하는 한 번에 패스 대체 방법이 있습니까? 이와
의
$2
을 사용할 수 있습니까? 너를 위해서? 언제 "http : //"앞에 무언가를 잡아야합니까? "http : //"다음에 모든 것을 캡처 한 다음 항상 GetSet내가 할 수 있었던 것은이 문자열 ('www.msn.com)에서 괄호를 픽업하지 않도록하는 것입니다. –