2009-05-20 3 views
0

나는 다음과 같은 acomplish하는 HTML 양식 및 자바 스크립트 (자바 스크립트를 사용하는 경우 정규식 처리의 일부 고급 기능을 사용할 수 없기 때문에 내가이 언급)를 사용하는 것을 시도하고있다 :정규식 변수를 캡처

공급 형태

"ABCDE 이메일 : [email protected] 이메일 텍스트는, 즉 텍스트, 그리고

... 변수로 사용되는 그것으로보고 그것의 특정 부분을"포착 "하는 정규식을 사용하여 : [email protected] sdfsdaf ... "

... 이제 내 문제 예를 들어 전자 메일을 변수 e1과 e2로 캡처하는 우아한 방법을 생각할 수 없다는 것입니다.

내가 지금까지 가지고있는 정규 표현식은 다음과 같다 :/email : (\ b \ w + \ b)/g 그러나 어떤 이유로, 이것은 2 개의 일치를 되돌려주지 않고있다 ... 단지 asdf @ gfds.com> <

sugestions?

답변

3

당신은 문자열에 정규식을 적용 할 새로운 경기마다 돌아 반복적으로 RegExp.exec()를 사용할 수 있습니다 내가 배열에있는 모든 전자 메일을 저장

var entry = "[...]"; //Whatever your data entry is 
var regex = /email: (\b\w+\b)/g 
var emails = [] 
while ((match = regex.exec(entry))) { 
    emails[emails.length] = match[1]; 
} 

을 (그래서이 작품은 지금까지 임의 만들기 위해 입력). 당신의 정규 표현식이 조금 벗어난 것처럼 보입니다. 전체 전자 메일을 캡처하려는 경우 변경해야합니다.

+0

감사합니다. 예, perehesis를 사용하여 주소를 캡쳐하고 싶었 기 때문에 제 정규식이 약간 벗어 났을 수도 있지만 ... 대답이 정말 도움이됩니다 – EroSan

+1

+1 ... RegExp 객체에 상태가 있습니까?! EWWWWWWW !!!!! –

관련 문제