当前位置: 首页 > 面试题库 >

Python正则表达式,在地址中找到电子邮件域

堵茂勋
2023-03-14
问题内容

我知道我是个白痴,但无法将域从此电子邮件地址中删除:

'blahblah@gmail.com'

我想要的输出:

'@gmail.com'

我当前的输出:

.

(这只是一个句号)

这是我的代码

import re
test_string = 'blahblah@gmail.com'
domain = re.search('@*?\.', test_string)
print domain.group()

这是我认为我的正则表达式说的(“ @ * ?.”,test_string):

 ' # begin to define the pattern I'm looking for (also tell python this is a string)

  @ # find all patterns beginning with the at symbol ("@")

  * # find all characters after ampersand

  ? # find the last character before the period

  \ # breakout (don't use the next character as a wild card, us it is a string character)

  . # find the "." character

  ' # end definition of the pattern I'm looking for (also tell python this is a string)

  , test string # run the preceding search on the variable "test_string," i.e., 'blahblah@gmail.com'

我基于这里的定义:

http://docs.activestate.com/komodo/4.4/regex-
intro.html

此外,我进行了搜索,但其他答案对我来说很难过。

与往常一样,非常感谢您的帮助。谢谢。

我的东西,如果有关系的话:

Windows 7 Pro(64位)

Python 2.6(64位)

PS。StackOverflow问题:我的帖子不包含换行符,除非我两次在它们之间单击“返回”。例如(当我发布时,这些都在不同的行上):

@-查找以at符号(“ @”)开头的所有模式*-查找&符号后的所有字符?-找到句号\之前的最后一个字符-
突破(不要将下一个字符用作通配符,因为它是字符串字符)。- 找出 ”。” character,测试字符串-对变量“ test_string”(即“
blahblah@gmail.com”)运行前面的搜索

这就是为什么我在上面的每一行都有一个黑白行。我究竟做错了什么?谢谢。


问题答案:

我认为这可能会有所帮助

import re
s = 'My name is Conrad, and blahblah@gmail.com is my email.'
domain = re.search("@[\w.]+", s)
print domain.group()

输出

@gmail.com

正则表达式如何工作:

@ -扫描直到看到这个角色

[\w.]一组可能匹配的\w字符,所有字母数字字符也都匹配,并且尾随句号.加到该组字符上。

+ 上一组中的一个或多个。

由于此正则表达式匹配句点字符以及后面的每个字母数字@,因此即使在句子中间,它也将匹配电子邮件域。



 类似资料:
  • 问题内容: 有人可以向我解释这个Java Regex吗? 此正则表达式用于验证 电子邮件地址 。 问题答案: 如今,验证电子邮件地址被认为是一种不好的做法(停止使用regex验证电子邮件地址),尤其是使用问题中的表达式时。例如,这是一个更完整的表达式。 至于此表达式,我们将其分为几部分: 匹配字符串的开头 匹配列表中的至少一个字符 非捕获(请参阅backreference)组,可以重复0..n次,

  • 本文向大家介绍在Python中使用正则表达式提取电子邮件地址,包括了在Python中使用正则表达式提取电子邮件地址的使用技巧和注意事项,需要的朋友参考一下 电子邮件地址非常复杂,并且没有在世界范围内遵循的标准,这使得很难在正则表达式中识别电子邮件。RFC 5322指定电子邮件地址的格式。我们将使用这种格式从文本中提取电子邮件地址。 例如,对于给定的输入字符串- 我们应该得到输出- 我们可以使用以下

  • 问题内容: 我的意图是从网页获取电子邮件地址。我有页面来源。我正在逐行阅读页面源代码。现在,我想从我正在阅读的当前行中获取电子邮件地址。当前行可能有也可能没有电子邮件。我看到了很多正则表达式示例。但是它们大多数用于验证电子邮件地址。我想从页面来源获取电子邮件地址,但不进行验证。它应该在http://emailx.discoveryvip.com/正常工作 一些示例输入行是: 我想从示例1,2和3获

  • 问题内容: 首先,我知道不建议使用正则表达式发送电子邮件,但我必须对此进行测试。 我有这个正则表达式: 在Java中,我这样做: 但是,无论电子邮件是否格式正确,正则表达式都会失败。Eclipse内部的“查找并替换”功能可以在同一个正则表达式下正常运行。 任何想法? 问题答案: FWIW,这是我们用来验证电子邮件地址的Java代码。正则表达式非常相似: 工作相当可靠。

  • 问题内容: 多年来,我慢慢地开发了一个正则表达式,假设它们不使用IP地址作为服务器部件,则可以正确验证MOST电子邮件地址。 我在几个PHP程序中使用了它,并且大多数时候都可以使用。但是,有时会遇到某个使用它的站点出现问题的人与我联系,最终我不得不进行一些调整(最近我意识到我不允许使用4个字符的TLD)。 您已经或看到的用于验证电子邮件的最佳正则表达式是什么? 我已经看到了几种使用使用几个较短表达

  • 需要验证电子邮件地址与单个域级别或多级域。(实际上域级别<=4) null null 在线正则表达式:https://regex101.com/r/7sxs1z/1

  • 本文向大家介绍js正则表达式验证邮件地址,包括了js正则表达式验证邮件地址的使用技巧和注意事项,需要的朋友参考一下 我们最经常遇到的验证,就是电子邮件地址验证。网站上常见。各种网页脚本也都常用“正则表达式”(regular expression)对我们输入的电子邮件地址进行验证,判断是否合法。有的还能分解出用户名和域名。现在用JavaScript语言实现一下电子邮件地址验证程序,用的是JavaSc

  • 我使用C#中的这个正则表达式根据来自的信息进行电子邮件格式验证http://www.regular-expressions.info/email.html: 我还想验证电子邮件的总长度是否在5到254个字符之间。该如何修改正则表达式以满足长度条件?我不想显式地检查C中字符串的长度。