Python 如何检查正则表达式中多个点的最小/最大长度
我正在尝试验证电子邮件地址。用户名、域和TLD只能是数字和字母,长度在3-20之间。我把它记下来了Python 如何检查正则表达式中多个点的最小/最大长度,python,regex,validation,Python,Regex,Validation,我正在尝试验证电子邮件地址。用户名、域和TLD只能是数字和字母,长度在3-20之间。我把它记下来了 [a-zA-Z0-9]{3,20} 因此,当我想用它来检查电子邮件的所有3个部分时,我会考虑如下操作: [a-zA-Z0-9]{3,20}\+[a-zA-Z0-9]{3,20}\+.[a-zA-Z0-9]{3,20} 然而,这并不能验证。是否有方法验证最小/最大长度一次,而不是在3个不同的点 我试图验证的电子邮件是:testuser@testdomain.com 我使用python3编写此文件,数
[a-zA-Z0-9]{3,20}
因此,当我想用它来检查电子邮件的所有3个部分时,我会考虑如下操作:
[a-zA-Z0-9]{3,20}\+[a-zA-Z0-9]{3,20}\+.[a-zA-Z0-9]{3,20}
然而,这并不能验证。是否有方法验证最小/最大长度一次,而不是在3个不同的点
我试图验证的电子邮件是:testuser@testdomain.com
我使用python3编写此文件,数据从.csv读入,“+”导致电子邮件不匹配,除非“+”位于该位置: 这就是你想要的:
[a-zA-Z0-9]{3,20}@[a-zA-Z0-9]{3,20}\.[a-zA-Z0-9]{3,20}
要帮助编写正则表达式,此网站是一个救命稻草:
除非“+”处于该位置,否则“+”会导致电子邮件不匹配: 这就是你想要的:
[a-zA-Z0-9]{3,20}@[a-zA-Z0-9]{3,20}\.[a-zA-Z0-9]{3,20}
要帮助编写正则表达式,此网站是一个救命稻草:
([a-zA-Z0-9]{3,20})@([a-zA-Z0-9]{3,20})[.]([a-zA-Z0-9]{3,20})
使用([a-zA-Z0-9]{3,20})@([a-zA-Z0-9]{3,20})[.]([a-zA-Z0-9]{3,20})
使用您的
\+
需要+
才能匹配。@一定的性能,所以只需+
而不是\+
?您想用它们做什么?我想,把它们完全排除在外吧?我误读了文档,这完全是一个愚蠢的错误。你的\+
s需要+
s才能与之匹配。@CertainPerformance所以就+
而不是\+
?你想用它们做什么?我想,把它们全部删掉吧?我误读了文档中的+
完全是一个愚蠢的错误。多余的括号是不必要的。你确定你在regex101.com上没有收到超时错误吗?对我来说,python正则表达式是有效的。它们不是必需的,但它们确实可以让每个捕获组都更加明显。多余的括号是不必要的。你确定在regex101.com上没有出现超时错误吗?对我来说,python正则表达式是有用的,它们不是必需的,但它们确实使每个捕获组的作用更加明显。我误解了+
在正则表达式中的实际作用。谢谢你的澄清。我误解了+
在正则表达式中的实际作用。谢谢你的澄清。