Проблема, возникшая при реализации выражения регулярного выражения - PullRequest
0 голосов
/ 05 июня 2018

Сценарий:

Выражение регулярного выражения, которое я пробовал, не должно разрешать выражение, содержащее символ '@'.И я успешно это реализовал.Но он должен содержать «.»обязательный точечный символ между двумя символами.

Проблема:

Это выражение регулярного выражения разрешает символы без '.'дот-символ.

Вот регулярное выражение:

 ^([a-z0-9]*([.])*([a-z0-9]))+(?!@)(?!gmail.com)+$

Требуемый результат:

1.Приведенное выше выражение регулярного выражения должно разрешать следующие выражения:

a.Джон.Майор

б.michael.clarke

c.jitendra123.gurung

и т. д.

2.Но он не должен допускать следующих выражений:

a.Джон

б.Джитендра @

в.john@gmail.com

и т. д.

Какая коррекция мне нужна в выражении регулярного выражения, которое я пробовал выше для достижения желаемого результата?

Предложения высоко ценятся.

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Я нашел два наиболее важных ответа, предложенных @Onyambu и @Theforthbird, которые я разместил ниже:

  1. ^\w+[.]\w+$, как предложено @ Onyambu

  2. ^(?!.*@)[a-z0-9]+\.[a-z0-9]+$ в соответствии с предложением @ Theforthbird

Оба соответствуют моим требованиям.Дайте мне знать, какой из них лучше.

0 голосов
/ 05 июня 2018

Вы можете использовать указанный вами класс символов [a-z0-9]+ и сопоставить его один или несколько раз, используя +, чтобы убедиться, что есть хотя бы один из [a-z0-9] до и после точки.

^[a-z0-9]+\.[a-z0-9]+$

...