Python连载48-正则表达式(中)
一、正则的写法:
. (点好) :表示任意一个字符,除了\n,比如查找所有的一个字符\.
[] :匹配中括号中列举的任意字符,比如[L,Y,0], LLY, Y0, LIU
\d :任意一个数字
\D :除了数字都可以
\s :表示空格,tab键
\S :除了空白符号
\w :单词字符,就是a-z,A-Z,0-9,_
\W :除了单词字符
* :表示前面的内容重复零次或者多次
+ :表示前面内容至少出现一次
?:前面才出现的内容零次或者一次
{m,n} :允许前面的内容出现最少m次,最多n次
^ :匹配字符串的开始
& :匹配字符串的结尾
\b :匹配单词的边界
():对正则表示式进行分组,从第一个括号开始,编号逐渐增大
\A :只匹配字符串开头,\Aabcd,则abcd
\Z :仅匹配字符串末尾,abcd\Z,abcd
| :管道符号,相当于或
(?P<name>...) :分组,除了原来的编号再制定一个别名,(?P<id>12345){2}
(?P=name) :引用分组
我们举几个例子:
^\d$ 验证一个数字
^\d+$ 必须至少有一个数字
^\d{5,10}$ 只能出现数字,且位数为5-10位
^[16-99]$ 注册者输入年龄只能在16-99这个区间
^[a-zA-Z0-9]$ 只能输入英文字符和数字
[0-9]{5,12} 验证qq号码
二、Re包的大致使用过程
1.使用compile将表示正则的字符串编译为一个pattern对象
2.通过pattern对象提供一系列方法对文本进行查找匹配,获得匹配结果,一个Match对象最后使用Match对象提供的属性和方法获取信息,根据需要进行操作。
三、Re常用函数
group():获取一个或多个分组匹配的子串,当获得整个匹配的字符串时,直接使用group或者group(0)
start:获取分组匹配的子串在整个字符串中的开始位置,参数默认为0
end:获取分组匹配的子串在整个字符串中的结束位置,默认为
span:返回的结构数组(start(group),end(group))
四、源码
2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料
Python连载48-正则表达式(中)的更多相关文章
- Python字符串和正则表达式中的反斜杠('\')问题
在Python普通字符串中 在Python中,我们用'\'来转义某些普通字符,使其成为特殊字符,比如 In [1]: print('abc\ndef') # '\n'具有换行的作用 abc defg ...
- python re:正则表达式中使用变量
参考:https://www.cnblogs.com/songbiao/p/12422632.html Python中正则表达式的写法,核心就是一个字符串.如下:re.compile(r'表达式')所 ...
- python之(re)正则表达式上
python正则表达式知识预备 正则表达式使用反斜杠" \ "来代表特殊形式或用作转义字符,这里跟Python的语法冲突,因此,Python用" \\\\ "表 ...
- Python系列之正则表达式详解
Python 正则表达式模块 (re) 简介 Python 的 re 模块(Regular Expression 正则表达式)提供各种正则表达式的匹配操作,和 Perl 脚本的正则表达式功能类似,使用 ...
- Python正则表达式中的re.S
title: Python正则表达式中的re.S date: 2014-12-21 09:55:54 categories: [Python] tags: [正则表达式,python] --- 在Py ...
- Python抓取页面中超链接(URL)的三中方法比较(HTMLParser、pyquery、正则表达式) <转>
Python抓取页面中超链接(URL)的3中方法比较(HTMLParser.pyquery.正则表达式) HTMLParser版: #!/usr/bin/python # -*- coding: UT ...
- python 正则表达式中反斜杠(\)的麻烦和陷阱
这里是一点小心得:由于下面两个原因,在正则表达式中使用反斜杠就会产生了一个双重转换的问题. (1).python自身处理字符串时,反斜杠是用于转义字符 (2).正则表达式也使用反斜杠来转义字符 ...
- Python正则表达式中的re.S的作用
在Python的正则表达式中,有一个参数为re.S.它表示“.”(不包含外侧双引号,下同)的作用扩展到整个字符串,包括“\n”.看如下代码: import re a = '''asdfhellopas ...
- python正则表达式中的分组 group
维基百科:http://wiki.ubuntu.org.cn/Python%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%93%8D%E4%BD%9C ...
- Python正则表达式中的re.S,re.M,re.I的作用
正则表达式可以包含一些可选标志修饰符来控制匹配的模式.修饰符被指定为一个可选的标志.多个标志可以通过按位 OR(|) 它们来指定.如 re.I | re.M 被设置成 I 和 M 标志: 修饰符 描述 ...
随机推荐
- Unity3D VidoePlayer 加载StreamingAssets下视频
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;usi ...
- 游戏《Minecraft》IntelliJ下模组开发环境ForgeGradle的使用教程
嗯,当你想搞个模组的时候,肯定需要用到FG. 就比如编译模组的时候. 很好,首先下载源码去. files.minecraftforge.net/ 然后打开命令行到源码目录下 执行命令~ Win: ...
- TestNG如何用命令行运行
TestNG如何用命令行运行 调用TestNG最简单的方法事下面的: java org.testng.TestNG testng1.xml 以上是我在网上搜索到的最多的答案,但对于第一次接触testn ...
- 【使用篇二】Lombok的介绍与使用(16)
Lombok通过简单注解来实现精简代码来达到消除冗长代码的目的.它能够提高编码效率.使代码更简洁.消除冗长代码.避免修改字段名时忘记修改方法名. 一.Lombok注解 Lombok主要常用的注解有: ...
- shiro实战(2)--ssm
一.web.xml的配置 <?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi=& ...
- IL指令列表
使用编译器可以将C#代码编译为中间语言(Intermediate Language,IL)代码,中间语言是一种平台无关的指令集,最终会由CLR将中间语言字节码转换为对应平台的机器码从而执行:阅读IL代 ...
- form表单提交与ajax消息传递
form表单提交与ajax消息传递 1.前后端传输数据编码格式contentType: urlencoded 对应的数据格式:name=xxx&password=666 后端获取数据:requ ...
- Selenium模块的安装
Selenium模块 1.安装selenium python2:pip install selenium python3:pip install selenium 2.设置浏览器驱动 解压后必须与浏览 ...
- execjs使用时异常
一.异常信息(...gbk.....) UnicodeDecodeError: 'gbk' codec can't decode byte 0xa1 in position 26: illegal m ...
- 清新简约风格毕业论文答辩PPT模板推荐
不管是学生还是老师,应该经常会需要学生答辩的PPT模板,今天给大家推荐织梦58的学生答辩ppt模板. 模版来源:http://ppt.dede58.com/gongzuohuibao/26494.ht ...