Регулярное выражение для захвата переменных - PullRequest
0 голосов
/ 20 мая 2009

Я пытаюсь использовать форму HTML и javascript (я упоминаю об этом, потому что некоторые расширенные функции обработки регулярных выражений недоступны при его использовании в javascript) для достижения следующих целей:

подает в форму некоторый текст и использует регулярное выражение для его просмотра и "захвата" определенных его частей для использования в качестве переменных ...

т.е. текст:

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

... теперь моя проблема в том, что я не могу придумать элегантный способ захвата обоих писем, например, в качестве переменных e1 и e2.

регулярное выражение, которое у меня есть, выглядит примерно так: / email: (\ b \ w + \ b) / g, но по какой-то причине это не возвращает 2 совпадения ... оно возвращает только asdf @ gfds .com> <</p>

sugestions

1 Ответ

3 голосов
/ 20 мая 2009

Вы можете использовать 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];
}

Я сохранил все электронные письма в массиве (чтобы заставить эту работу работать произвольно). Похоже, ваше регулярное выражение может быть немного не так; вам придется изменить его, если вы просто хотите получить полную электронную почту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...