代码之家  ›  专栏  ›  技术社区  ›  Dixon Chaudhary

正则表达式实现过程中遇到的问题

  •  0
  • Dixon Chaudhary  · 技术社区  · 8 年前

    脚本:

    我尝试过的正则表达式不应允许包含“@”字符的表达式。我已经成功地实现了它。但是,它应该在两个字符之间包含“.”点符号。

    面临的问题:

    此正则表达式允许不带“.”点符号的字符。

    下面是正则表达式:

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

    所需结果:

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

    A.约翰市长

    B.迈克尔·克拉克

    C.Jitendra123.Gurung公司

    等等。

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

    约翰

    吉滕德拉

    邮箱:c.john@gmail.com

    等等。

    我需要在上面尝试过的regex表达式中进行哪些更正才能获得所需的结果?

    我们非常感谢你的建议。

    2 回复  |  直到 8 年前
        1
  •  1
  •   The fourth bird    8 年前

    你可以用字符类 [a-z0-9]+ 指定并匹配一次或多次使用 + 以确保至少有一个 [a-z0-9] 点前后。

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

        2
  •  0
  •   Dixon Chaudhary    8 年前

    我找到了@onyanbu和@thefortbird建议的两个最相关的答案,我已经在下面发布了:

    1. ^\w+[.]\w+$ 由@onyambu建议

    2. ^(?!.*@)[a-z0-9]+\.[a-z0-9]+$ 正如@thefortbird所建议的

    两者都符合我的要求。告诉我哪一个更好。