python 正则表达式字符说明
.
| 元字符 | 说明 |
|---|---|
| . | 代表任意字符 |
| | | 逻辑或操作符 |
| [ ] | 匹配内部的任一字符或子表达式 |
| [^] | 对字符集和取非 |
| - | 定义一个区间 |
| \ | 对下一字符取非(通常是普通变特殊,特殊变普通) |
| * | 匹配前面的字符或者子表达式0次或多次 |
| *? | 惰性匹配上一个 |
| + | 匹配前一个字符或子表达式一次或多次 |
| +? | 惰性匹配上一个 |
| ? | 匹配前一个字符或子表达式0次或1次重复 |
| {n} | 匹配前一个字符或子表达式 |
| {m,n} | 匹配前一个字符或子表达式至少m次至多n次 |
| {n,} | 匹配前一个字符或者子表达式至少n次 |
| {n,}? | 前一个的惰性匹配 |
| ^ | 匹配字符串的开头 |
| \A | 匹配字符串开头 |
| $ | 匹配字符串结束 |
| [\b] | 退格字符 |
| \c | 匹配一个控制字符 |
| \d | 匹配任意数字 |
| \D | 匹配数字以外的字符 |
| \t | 匹配制表符 |
| \w | 匹配任意数字字母下划线 |
| \W | 不匹配数字字母下划线 |
| 正则表达式 | 代表的匹配字符 |
|---|---|
| [0-9] | 0123456789任意之一 |
| [a-z] | 小写字母任意之一 |
| [A-Z] | 大写字母任意之一 |
| \d | 等同于[0-9] |
| \D | 等同于[^0-9]匹配非数字 |
| \w | 等同于[a-z0-9A-Z_]匹配大小写字母、数字和下划线 |
| \W | 等同于[^a-z0-9A-Z_]等同于上一条取非 |
例:
import re key2 = r"<html><body><h1>hello world</h1></body></html>"#这段是你要匹配的文本
re2 = re.compile(r"(?<=<h1>).+?(?=</h1>)") # ?<= 和 ?= 就是匹配里面 向前查找 和 向后查找
print(re2.findall(key2)) # 结果为 Hello world """split 方法按照能够匹配的子串将字符串分割后返回列表"""
xx = re.split('\W+', ',1,runoob,runoob, runoob1212123');
print(xx) """和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回"""
it = re.finditer(r"\d+","12a32bc43jf3")
for match in it:
print (match.group() ) """
findall在字符串中找到正则表达式所匹配的所有子串
注意: match 和 search 是匹配一次 findall 匹配所有。
"""
pattern = re.compile(r'\D+') # 查找非数字
result1 = pattern.findall('runoob 123 google 456')
print(result1) """ compile 编译正则表达式,供 match() 和 search() 这两个函数使用"""
pattern = re.compile(r'([0-9]+) ([0-9]+)',re.I) # re.I 表示忽略大小写
cc = pattern.match('23 44444 343')
print(cc.group(2) ) """sub 替换字符串中的匹配项"""
phone = "2000-34-434 #这是一个外国的电话"
num = re.sub(r'#.*$',"",phone);
print(num) """ search 全局搜索字符串""" matchObj = re.search(r'com', 'www.runoob.com')
if matchObj:
print("search --> matchObj.group() : ", matchObj.group())
else:
print( "No match!!",matchObj) """match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。"""
ma = re.match('www', 'www.runoob.com') # 在起始位置匹配
print(ma)
print(ma.group(0)) #字符串中提取ip
string_ip = "is this 289.22.22.22 ip ?
result = re.findall(r"\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b", string_ip)
python 正则表达式字符说明的更多相关文章
- python正则表达式字符记录
代码 功能 . 匹配任意1个字符(除了\n) [] 匹配[]中列举的字符 \d 匹配数字,即0-9 \D 匹配非数字, 即不是数字 \s 匹配空白,即空格,tab键 \S 匹配非空白 \w ...
- Python 正则表达式(字符)详解
Python正则表达式 - 简介 其实正则表达式这种技术,源于一个很简单的问题: 如何通过变成使得计算机具有在文本中检索某种模式的能力? 而正则表达式为通过编程实现高级的文本模 ...
- python正则表达式模块re:正则表达式常用字符、常用可选标志位、group与groups、match、search、sub、split,findall、compile、特殊字符转义
本文内容: 正则表达式常用字符. 常用可选标志位. group与groups. match. search. sub. split findall. compile 特殊字符转义 一些现实例子 首发时 ...
- Python 正则表达式入门(中级篇)
Python 正则表达式入门(中级篇) 初级篇链接:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我们说在这一篇里,我们会介绍子表达式,向前向 ...
- Python正则表达式中的re.S
title: Python正则表达式中的re.S date: 2014-12-21 09:55:54 categories: [Python] tags: [正则表达式,python] --- 在Py ...
- Python 正则表达式入门(初级篇)
Python 正则表达式入门(初级篇) 本文主要为没有使用正则表达式经验的新手入门所写. 转载请写明出处 引子 首先说 正则表达式是什么? 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达 ...
- python正则表达式re
Python正则表达式: re 正则表达式的元字符有. ^ $ * ? { [ ] | ( ).表示任意字符[]用来匹配一个指定的字符类别,所谓的字符类别就是你想匹配的一个字符集,对于字符集中的字符可 ...
- Python正则表达式详解
我用双手成就你的梦想 python正则表达式 ^ 匹配开始 $ 匹配行尾 . 匹配出换行符以外的任何单个字符,使用-m选项允许其匹配换行符也是如此 [...] 匹配括号内任何当个字符(也有或的意思) ...
- 比较详细Python正则表达式操作指南(re使用)
比较详细Python正则表达式操作指南(re使用) Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式.Python 1.5之前版本则是通过 regex 模块提供 E ...
随机推荐
- Linux系统用户及用户组管理
目录一.新增/删除用户和用户组二.创建/修改密码三.用户身份切换--su和sudo 一.新增/删除用户和用户组1.用户组 命令 : groupadd 语法 : groupadd [-g GID] gr ...
- pip 批量更新
1. pip3 list --outdated >> requests 现将要更新的列表写入requests 2.对文件中的数据进行处理 Package Version ...
- angular之自定义管道
1,装了angular2 的 cli之后,cmd中命令建立个管道文件 ng g p <name>; 如建一个在pipe文件中建一个add.pipe.ts文件 可以这么么写 ng g p p ...
- WPF:自定义ListBox的选择样式
首先介绍一种简单地方法:就是通过自定义SystemColors类的参数来自定义WPF ListBox选择颜色的, SystemColors的HighlightBrushKey和HighlightTex ...
- 【CodeForces - 870C】
题意: 计算一个整数最多可以拆分为多少个合数(要求拆分的全是合数).例如:12的拆分法案是12=4+4+4. 合数是指除了1之外的非素数(正整数). 思路: 偶数的话用4.6就可以满足,奇数的话减去一 ...
- eureka-3-常用注解
@EnableDiscoveryClient @EnableEurekaClient 上面两个注解都是用在应用的启动类上面,声明这是一个Eureka Client ,现在说明两个注解的区别. spri ...
- 一、html <!doctype>标签
一.html <!doctype>标签 定义和用法 <!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前. <!DOCTYP ...
- 二进制包形式安装mysql5.7.17
mysql5.7与mysql5.5的安装方式有些区别,如果按照5.5的方式来安装5.7就会有很多报错信息,下面介绍mysql5.7.17的二进制安装方式. 首先安装依赖包: yum -y instal ...
- OpenVPN CreateProcess Failed 问题解决
启动 OpenVPN GUI 时失败 显示如下信息 CreateProcess Failed, exe=’X:XXXXXOpenVPNbinopenvpn.exe’ cmdline=’openvpn ...
- 简单的cookie盗取
此文需要有一定的javascript\html\php方面的只是作为基础 直接上代码: #用于抓取盗窃来的cookie的php文件,此文件需置于攻击者的服务器上,这里包含了两种写法:Method1和M ...