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 № 1Moż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.