/ / Regex do przechwytywania zmiennych - javascript, html, regex

Regex do przechwytywania zmiennych - javascript, html, regex

Próbuję użyć formularza HTML i javascript (wspominam o tym, ponieważ niektóre zaawansowane funkcje przetwarzania regex nie są dostępne podczas używania go w javascript) w celu osiągnięcia następujących funkcji:

podaj formę tekstu i użyj wyrażenia regularnego, aby przyjrzeć się temu i "uchwycić" pewne jego części, które mają być używane jako zmienne ...

tj. tekst to:

"abcde email: asdf@gfds.com email: fake@mail.net sdfsdaf ..."

... teraz, moim problemem jest to, że nie potrafię wymyślić eleganckiego sposobu przechwytywania obu e-maili, na przykład zmiennych e1 i e2.

regex, które dotychczas miałem, to coś takiego: / email: (bw + b) / g, ale z jakiegoś powodu to nie jest zwracanie 2 dopasowań ... to daje tylko asdf@gfds.com> <

sugestie?

Odpowiedzi:

3 dla odpowiedzi № 1

Możesz użyć RegExp.exec () aby wielokrotnie stosować wyrażenie regularne do łańcucha znaków, zwracając nowy mecz za każdym razem:

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

Zapisałem wszystkie e-maile w tablicy (tak, abysprawiają, że praca ta jest arbitralnym wprowadzeniem). Wygląda na to, że twoje regex może być trochę za daleko; będziesz musiał to zmienić, jeśli chcesz uchwycić cały e-mail.