在执行正则表达式

时间:2018-06-05 05:46:19

标签: regex regex-negation

情境:

我试过的正则表达式不应该允许包含' @'的表达式字符。我已经成功实施了它。但是,它应该包含'。'两个字符之间必须使用点符号。

问题面对:

这个正则表达式允许没有'的字符。点符号。

这是正则表达式:

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

必修结果:

1。上面的正则表达式应该允许以下表达式:

一个。 john.mayor

湾michael.clarke

℃。 jitendra123.gurung

等等。

2。但它不应该允许以下表达式:

一个。约翰

湾jitendra @

℃。 john@gmail.com

等等。

我在上面尝试过的正则表达式中需要进行哪些更正以达到预期效果?

非常感谢您的建议。

2 个答案:

答案 0 :(得分:1)

您可以使用您指定的字符类[a-z0-9]+,并使用+将其匹配一次或多次,以确保点之前和之后至少有一个[a-z0-9]

referred from here

答案 1 :(得分:0)

我找到了@Onyambu和@Theforthbird建议的两个最相关的答案,我在下面发布了这些答案:

    @Onyambu

    建议的
  1. ^\w+[.]\w+$

  2. ^(?!.*@)[a-z0-9]+\.[a-z0-9]+$按@Theforthbird

  3. 的建议

    两者都符合我要求的验证。让我知道哪一个更好。