繁体   English   中英

如何匹配多个由单点分隔的字符串

[英]How do I match more than one string separated by single dot

我有以下条件:

  1. 有一个“@”符号;
  2. 在“@”符号之前,可以有一个或多个由字母、数字和下划线组成的字符串,用一个点分隔。
  3. 在“@”符号之后,可以有两个或多个由字母、数字和下划线组成的字符串,用一个点分隔。
  4. email 地址中不应出现除字母、数字、下划线、点和“@”符号外的其他字符。

例如,您的正则表达式应匹配 email 地址,例如: abc@umich.edu, 8ab.c_def9@example.regex.com

但你的正则表达式不应该匹配: abc@ def., ab..abc@def.com, abc@def

如何在不输入\. 多次(取决于字符串的数量)?

我不能低估Python 正则表达式 Howto的质量。 阅读它将帮助你成为一个更好的程序员。

import re
pattern = re.compile(r'$([a-zA-Z0-9_]+\.)*[a-zA-Z0-9_]+@([a-zA-Z0-9_]+\.)+[a-zA-Z0-9_]+^')

笔记

  • *表示零个或多个
  • +表示一个或多个
  • ^$分别是开始和结束以排除任何后缀
  • . 必须是反斜杠转义

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM