Regex 正则表达式阻止多个“引用”&引用;
我正试图做一个regex语句来验证电子邮件地址。 以下是我目前的声明:Regex 正则表达式阻止多个“引用”&引用;,regex,validation,Regex,Validation,我正试图做一个regex语句来验证电子邮件地址。 以下是我目前的声明: [a-z|A-Z|.]+@[a-z|A-Z]+\.[a-z]{3}\.[a-z]{2} 我一直试图阻止它连续接受多个句号。但是,它没有任何的。 我试过: \.(?!\.) 然而,它承认了第一点。作为所需的值,与该值无关?!消极前瞻。是否有人知道基本/简单的消极前瞻(或实现这一点的任何其他方式),并能够解释它的作用。 这将非常感谢:) 谢谢您可以尝试以下正则表达式: ^(?!.*\.\.)[a-zA-Z.]+@[a-zA-
[a-z|A-Z|.]+@[a-z|A-Z]+\.[a-z]{3}\.[a-z]{2}
我一直试图阻止它连续接受多个句号。但是,它没有任何的。
我试过:
\.(?!\.)
然而,它承认了第一点。作为所需的值,与该值无关?!消极前瞻。是否有人知道基本/简单的消极前瞻(或实现这一点的任何其他方式),并能够解释它的作用。
这将非常感谢:)
谢谢您可以尝试以下正则表达式:
^(?!.*\.\.)[a-zA-Z.]+@[a-zA-Z]+\.[a-z]{3}\.[a-z]{2}$
我在开头添加了(?!.\.\.\)
,以确保整个正则表达式没有连续的
说明:
(?!.\.\。\)
负前瞻正则表达式以确保
fullstop在任何位置都会跟随。*确保
寻找这样的发生直到字符串结束[a-z | a-z |.]
管道,该类也将包括管道作为有效输入。在字符类中,您不需要按管道分隔序列,因此[a-zA-Z.]
就可以了如果我是你,我不会用regex验证电子邮件。请看:现在我开始讨论这个问题,尽管这不是最好的主意,但我希望看到它的结尾:d@之前的部分可以更改为
[a-zA-Z]+(\.[a-zA-Z]+)*
,这将阻止多个连续点,以及@之前的点。当然,这假设您只需要电子邮件ID中的字母。请给出一个示例,您的正则表达式接受,但根据您的要求不应接受。验证电子邮件地址可以被视为一个已解决的问题-在这种情况下,请使用一个现有的、经过尝试和测试的解决方案,理想情况下,从验证库中——或者为了了解正则表达式如何工作,在这种情况下,这个问题可以简化为“如何使用正则表达式防止两个连续的相同字符?”——在这种情况下,这个问题已经得到了回答。第一次谷歌点击:。在这两种情况下,请不要让我们调试另一个电子邮件地址的正则表达式。请注意,这将允许在电子邮件ID中使用管道符号(在@之前)。即使这是允许的,它也是在@you is right之前的字符范围内冗余声明的,我实际上没有触及op的正则表达式部分,为您更新了答案@VasanThank you:)。我自己找到了一个解决方案,不过这一个比我允许的子匹配要好得多。