Как создать регулярное выражение для проверки строки, которая содержит только gmail.com? - PullRequest
0 голосов
/ 25 мая 2018

У меня есть текст с электронными письмами.Если текст содержит @gmail.com, то строка является валидной.

Пример:

igoer@gmail.com igoesdr@gmail.com igoer@MAIL.ru igoer@gmail.com 

Я думаю, что код для валидации: ^(.+@gmail.com).*$

Но этокод не работает для меня.

Ответы [ 4 ]

0 голосов
/ 25 мая 2018

Вы можете использовать оператор .+, см. Пример:

public class Test
{
    public static void main(String[] args)
    {
        String email = "gabrielpereira@gmail.com";
        System.out.println(email.matches(".+@gmail.com"));
    }
}
//returns true

.+ проверит, существует ли 1 или более символов.

0 голосов
/ 25 мая 2018

Попробуйте ^(*)(@gmail.com)$ или .*\\b@gmail.com\\b

Я думаю, ваше регулярное выражение должно покончить с * в конце, и оно будет работать.Дополнительная * в конце означает, что входная строка должна заканчиваться чем-нибудь после "@ gmail.com" .Ваше регулярное выражение ищет строку типа xyz@gmail.com.xyz, где xyz может быть любым.

0 голосов
/ 25 мая 2018

Считая оригинальный вопрос от пользователя и текущую отредактированную версию , изменения изменили вопрос от пользователя.

Возможное решение оригинальной неотредактированная версия, которая гласила:

У меня есть текст с электронными письмами.Если в тексте есть все письма @ gmail.com - строка действительна.

может повторять адрес электронной почты, который содержит @gmail, за которым следует пробел для всей строки, при условии, что строка состоит изтолько адреса электронной почты.

^(?:\S+@gmail\.com )*\S+@gmail\.com$

Если вокруг адресов электронной почты, которые вы можете использовать, может быть несколько пробелов:

^ *(?:\S+@gmail\.com(?: *|$))+$

0 голосов
/ 25 мая 2018

попробуйте @ igor

(\W|^)[\w.+\-]*@gmail\.com(\W|$)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...