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 ...
随机推荐
- Eclipse创建Maven聚合项目
整体架构图 1.新建父工程 新建maven父项目(用来管理jar包版本),使子系统使用同一个版本的jar包. File->New->Other->Maven Project,打包方式 ...
- hihocoder1457
http://hihocoder.com/problemset/problem/1457 找不重复子串的和 topo序搞一搞,用父亲更新儿子节点的val,记得乘上节点数 //#pragma comme ...
- 在Hibernate中使用原生SQL语句
使用原生SQL查询必须注意:程序必须选出所有的数据列才可被转换成持久化实体.假设实体在映射时有一个<many-to-one../>的关联指向另外一个实体,则SQL查询中必须返回该<m ...
- jquery基础 笔记一
一. 1. vsdoc: 在Visual Studio中需要引入此版本的jquery类库才能启用智能感知.如:jquery-1.3.2-vsdoc2.js<body> <div id ...
- mysql数据库基础知识和认识
mysql 创建一个用户 hail,密码 hail,指定一个数据库 haildb 给 hail mysql -u root -ppassworduse mysql;insert into user(h ...
- WebApplication和WebSite的简单区别
初步认识网站和网站应用程序区别 1. 网页头部文件 网站 <%@ Page Language="VB" AutoEventWireup="false" C ...
- SpringBoot全家桶
前言 Spring简化了Java的开发,而SpringBoot简化了Spring.本文用SpringBoot采用分层的结构整合了filter,aspect,mybaits,logback,redis, ...
- bzoj1711
题解: 原点->食物建一个1 食物->牛见一个1 牛->牛'见一个1 牛'->饮料1 饮料->汇点1 代码: #include<cstdio> #includ ...
- sql中exists,Intersect ,union 与union All的用法
熟练使用SQL Server中的各种用法会给查询带来很多方便.今天就介绍一下EXCEPT和INTERSECT.注意此语法仅在SQL Server 2005及以上版本支持. EXCEPT是指在第一个集合 ...
- Django之model操作(续)
Django中的源码续 ################################################## # PUBLIC METHODS THAT RETURN A QUERYS ...