我是Python的新手,我正在尝试理解这个正则表达式:
pattern = r"^[A-Z0-9._%+-]+@[A-Z0-9.-]{2,200}$"
%+-
和.-
是什么意思?
发布于 2018-09-12 05:11:41
[%+-]
表示匹配%
、+
或-
。为什么我们不使用转义字符\
?因为它们位于[]
的一侧
[.-]
表示匹配.
或-
为什么我们不使用转义字符\
?因为他们在[]
旁边,
此外,如果在一个范围字符之间,如[A-Z]
或[0-9]
,则-
也可以表示一个范围,在其他情况下,它在字面上被视为[AZ-]
中的范围。
发布于 2018-09-12 04:53:16
它们在[]
中,所以它们是字符类的一部分。它匹配这些文字字符。
只有当-
出现在类中间的某个位置时,它才是字符类中的特殊字符(如A-Z
,其中它表示从A到Z的整个字符范围)。如果它出现在类的开头或结尾处,则表示文字-
。
(对于“电子邮件地址”的特定定义,该正则表达式看起来与电子邮件地址相匹配。)
https://stackoverflow.com/questions/52283976
复制相似问题