2012-02-06 5 views
0

특정 접두사로 시작하는 단어가 일치합니다.복수 regEx가 일치합니다

이 정규식은 저에게 효과적이지만 한 번의 일치로 여러 용어를 적용하는 데 문제가 있습니다.

  • 일치하는 접두사 '재'/(re|http)\S+/g;

그러나 : /re\S+/g;

가 나는

  • 일치하는 접두사 '재'와 'HTTP'작업 것이라고 생각 후자는 두 번째 용어의 일치 만 반환합니다.

    function replacePrefix(input){ 
         var re = /(#)\S+/g;   
         var specials = []; 
         var match; 
         while(match = re.exec(input)){ 
          $('#text').html(input.replace(specials[0], "<span class='special'>"+specials[0]+"</span>")); 
         } 
        } 
    
+0

당신이 일치하거나 일치하지 싶은'input'가있을 수 있습니다 무엇의 예를 제공 할 수있다 :

여기에 전체 코드입니다. –

+0

예 : "이것은 http://www.coolurl.com과 같은 정말 멋진 URL이있는 문장입니다." "정말"과 "http://www.coolurl.com"을 반환합니다. – MALK

+0

조금 혼란 스럽습니다. while 루프에서 코드를 사용하여 달성하려는 작업에 대해 알려주십시오. 일치를 포함하는'$ ('text')'에 새로운 스팬 요소를 추가 하시겠습니까? –

답변

1
function replacePrefix(input){ 
    var re = /\b(?:re|http)\S+/g;   
    var specials = []; 
    var match; 
    while(match = re.exec(input)){ 
     console.log(match); 
    } 
} 
replacePrefix("This is a sentence with really great urls in it like http://coolurl.com";); 

["really"] 
["http://coolurl.com"] 
+0

도움을 주셔서 감사합니다. 제 문제는 가짜 문자입니다. 개선 된 정규 표현식을 가져 주셔서 감사합니다! – MALK