美文网首页
初学正则表达式

初学正则表达式

作者: 转身丶即天涯 | 来源:发表于2017-12-13 18:09 被阅读5次

Python从1.5版本后增加了re模块,re模块包含了处理正则表达式的函数。
这些函数一般使用一个模式字符串作为第一个参数。
可以先看菜鸟教程30分钟入门正则表达式
再看python3正则表达式
下面记录一下常用方法。

re.match()函数

re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
语法:re.match(pattern, string, flags=0)


image.png

可以看到,如果成功匹配会返回一个SRE_Match对象,这个对象有两个属性,span和match。
span返回的是一个含有两个元素的元组,分别是成功匹配的字符串的其实索引和结束索引。
match中的值是模式字符串的值,就是re.match()函数的第一个参数pattern。
当我们匹配"com"时,返回了None,可以发现,不是其实位置开始的匹配,就算包含也是返回None的。重点是起始匹配,也就是从第一个字符就要匹配。

算了,直接写几个例子,留着以后用(或者改进)
1、匹配手机号码
已知条件:手机号是11位的,头3位由移动,联通,电信规定,后8位0-9
前2位有,13,14,15,17,18
phone_reg = "^1[3-5,7-8]\d{9}$"
还有一个复杂版的,但是比我这个全面多了。引用出处在这里
phone_reg2 = "134[0-8]\d{7}$|13[4]\d{8}$|14[5-9]\d{8}$|15[4]\d{8}$|16[6]\d{8}$|17[0-8]\d{8}$|^18[\d]"
"{9}$|^19[8,9]\d{8}$"

2、匹配邮箱
规则是:以一个或者多个任意字符开始,然后是@,然后是一个或者多个字符,再是.com
email_reg = "^\w+@([a-zA-Z0-9])+.com$"

相关文章

  • 解18位身份证正则表达式

    自己初学正则表达式,写了一个18位正则表达式如下: ^[1-9]\d{5}(18|19|2([0-9]))\d{2...

  • 正则表达式 初学篇

    正则表达式 初学篇 正则表达式 虽说不常用, 但是每当用到的时候基本都要去问百度, 得到的答案可能又不完全适用, ...

  • 通过案例学习正则表达式

    我们知道js是支持正则表达式的,用正则表达式来验证文本非常方便,但是初学者却非常难懂,最近碰到几个要用正则的地方,...

  • 【转】正则表达式

    上一篇文章基本没人顶。再写一篇。初学者坚持看完,准保再也不怕正则表达式。先说两个问题。1.正则表达式有啥作用?查询...

  • 初学正则表达式

    正则表达式是一组由字母和符号组成的特殊文本, 它可以用来从文本中找出满足你想要的格式的句子. 一个正则表达式是在一...

  • 初学正则表达式

    Python从1.5版本后增加了re模块,re模块包含了处理正则表达式的函数。这些函数一般使用一个模式字符串作为第...

  • 正则表达式(初学)

    正则表达式:是一个描述字符集的对象。 一、正则表示式语法 1、直接量字符 在正则表达式中,某些标点符号具有特殊含义...

  • Selenium框架自动化资料

    头条视频Python Selenium 操控Chrome 浏览器第一步,自动化测试爬虫首选初学编程看到正则表达式就...

  • 初学JavaScript正则表达式

    学如逆水行舟,不进则退 什么是正则表达式 Regular Expression使用单个字符串来描述、匹配一系列符合...

  • JAVA正则表达式中如何匹配反斜杠\

    有时候我们需要匹配反斜杠,你可能会把对应的正则表达式写成 "\" 然后可能会有如下输出: 可能这个问题对于初学者来...

网友评论

      本文标题:初学正则表达式

      本文链接:https://www.haomeiwen.com/subject/prvaixtx.html