正则表达式:包含邮箱和电话号码的案例格式

6 篇文章 1 订阅

正则表达式是一种强大的文本处理工具,可以通过模式匹配的方式,从文本中进行查找、替换、提取等操作。以下是一些常用的正则表达式及其用途:

  1. 匹配数字:\d
    \d可以匹配任何数字,例如:0、1、2、3、4、5、6、7、8、9。可以使用\d+匹配多个数字。

  2. 匹配字母:[a-zA-Z]
    [a-zA-Z]表示匹配任何一个小写或大写字母。可以使用[a-zA-Z]+匹配多个字母。

  3. 匹配非数字:\D
    \D可以匹配除数字以外的任何字符。可以使用\D+匹配多个非数字字符。

  4. 匹配任意字符:.
    .可以匹配任意一个字符,例如:字母、数字、符号等。可以使用.+匹配多个字符。

  5. 匹配空格:\s
    \s可以匹配任何一个空格字符,例如:空格、制表符、换行符等。可以使用\s+匹配多个空格字符。

  6. 匹配非空格:\S
    \S可以匹配除空格以外的任何字符。可以使用\S+匹配多个非空格字符。

  7. 匹配邮箱地址:\w+@\w+.\w+
    \w匹配任何一个字母、数字或下划线。可以使用\w+匹配多个字母、数字或下划线。上述正则表达式可以匹配一个符合格式要求的邮箱地址,例如:myemail@example.com。

  8. 匹配网址URL:https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+[^\s]*
    可以匹配一个符合格式要求的URL地址,例如:http://www.example.com。具体解析如下:

  • https?://:匹配http或https的协议头。
  • (?:[-\w.]|(?:%[\da-fA-F]{2}))+:匹配任意数量的字母、数字、符号、点和百分号编码。
  • [^\s]*:匹配零个或多个非空白字符。
  1. 匹配手机号码:1\d{10}
    可以匹配符合中国大陆手机号码格式的数字串。

综上所述,以上是一些常用的正则表达式及其用途,可以在各种文本处理场景中便捷地进行模式匹配操作。

        一,邮箱

邮箱地址的格式通常是username@domain.com,其中username可以包含字母、数字、下划线和点,domain可以包含字母、数字和点。为了验证一个字符串是否符合邮箱格式,可以使用以下正则表达式:

^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$

其中,^表示必须匹配字符串的开头,$表示必须匹配字符串的结尾。正则表达式中的\w匹配一个字符,可以是字母、数字、下划线;[-+]表示可以包含连接符-和+;*表示前一个字符可以出现0次或多次,即括号内的内容可以重复出现。

通过这个正则表达式,可以轻松地验证一个字符串是否符合邮箱格式,例如:

import re

email = 'myemail@example.com'
regex = '^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$'

if re.match(regex, email):
    print('邮箱格式正确')
else:
    print('邮箱格式错误')

运行上述代码,如果email字符串符合邮箱格式,则输出“邮箱格式正确”,否则输出“邮箱格式错误”。

        二,电话号码

中国国内电话号码的格式是由区号和电话号码两部分组成,其中区号一般是3位或4位数字,电话号码一般是7位或8位数字。如果需要校验一个字符串是否符合中国国内电话号码的格式,可以使用以下正则表达式:

^((\d{3,4}-)?\d{7,8})$|^1[345789]\d{9}$

其中,^表示必须从字符串开头开始匹配,$表示必须匹配到字符串结尾。正则表达式中使用“|”来表示或关系,其中“-”是区号和电话号码的分隔符,?表示前面的字符可以出现0次或1次,\d表示匹配一个数字,{3,4}表示匹配3位或4位数字,{7,8}表示匹配7位或8位数字,[345789]表示匹配3、4、5、7、8、9中的任意一个数字。

通过这个正则表达式,可以方便地验证一个字符串是否符合中国国内电话号码的格式。例如:

import re

phone = '13345678901'
regex = '^((\d{3,4}-)?\d{7,8})$|^1[345789]\d{9}$'

if re.match(regex, phone):
    print('电话号码格式正确')
else:
    print('电话号码格式错误')

如果phone字符串符合中国国内电话号码的格式,则输出“电话号码格式正确”,否则输出“电话号码格式错误”。

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不秃头的天才

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值