python常用的正则表达式,持续更新<<
# -*- coding: utf-8 -*-
import re str_0 = 'Aqin1012Heheheaaaaaaahehe如何da' def re_str(re_str_0,str_0):
test=re.match(re_str_0, str_0)
if test:
print("匹配成功~")
print(test.group(0)) # group()函数 提取以()分组的字符串 group(0):整体 group(1):第一个括号匹配部分;以此类推
else:
print("匹配的失败!") # 贪婪模式:从右边(后面)开始匹配
# 非贪婪模式:从左边(前面)开始匹配 ?表示进入非贪婪模式
re_str_1='.*(he).*'
re_str_2='.*?(he).*?'
re_str(re_str_1,str_0)
re_str(re_str_2,str_0) # ^a 表示以a开头的字符串(只匹配一次)
# . 表示任意字符(只匹配一次)
# * 表示前面的字符可以出现任意次(0/多次匹配)
# a$ 表示以a结尾的字符串(只匹配一次) re_str_3 = '^A.*' # 表示以'A'开头的任意字符 # 匹配函数 re.match(匹配的格式,要匹配的字符串) # + 表示前面的字符至少出现一次
# {n} 控制前面字符的出现
# a{2} a出现至少2次
# a{3,4} a出现至少3次最多4次
# a{3,} a出现最少3次
re_str_4 = 'a.{3}a' # 表示a与a之间有三个字符 # | 表示或,无()则对整个字符串起作用
# [] 表示其中任意 [abcd]:a/b/c/d中任意一个 [0-9]:在0-9区间内 [^字符]:非该字符
# \d 表示数字 # \A 进匹配字符串开头
# \Z 进匹配字符串结尾 re_str_5='.*(1[0-9]{10}).*' # 常用实例
# [\u4e00-\u9fa5]:所有汉字(unicode编码)
str_1="呵呵额呵呵qqqq呵呵额呵呵"
re_str_6='[\u4e00-\u9fa5].*'
re_str(re_str_6,str_1) # ^[1-9]\d*$
# 匹配正整数
# ^-[1-9]\d*$
# 匹配符合邮箱
# [\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?
# 匹配网址
# [a-zA-z]+://[^\s]*
# 匹配国内电话号码
# \d{3}-\d{8}|\d{4}-\{7,8}
# 匹配邮政编码
# [1-9]\d{5}(?!\d)
# 匹配身份证号
# ^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$
# 匹配年月日
# ([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))
今天莫名其妙地感觉不对,啥都不想说了
python常用的正则表达式,持续更新<<的更多相关文章
- git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- 【github&&git】4、git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- Python常用的正则表达式处理函数
Python常用的正则表达式处理函数 正则表达式是一个特殊的字符序列,用于简洁表达一组字符串特征,检查一个字符串是否与某种模式匹配,使用起来十分方便. 在Python中,我们通过调用re库来使用re模 ...
- 总结js常用函数和常用技巧(持续更新)
学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...
- 【笔记】git 的常用操作命令(持续更新。。。)
项目正在如火如荼的开展,代码量的繁多不得不令我们运用 git 这个有用的工具去管理我们共同协作的代码 git 在这里不作什么介绍了,百度一大堆的教程 首推廖雪峰老师的:http://www.liaox ...
- php常用函数(持续更新)
每一种编程语言在用的过程中都会发现有时候要一种特定需求的功能函数,结果没有内置这样的函数,这个时候就需要自己根据已有函数编写尽可能简单的函数,下面是我在做php相关工作时积累下的函数,会持续更新,您要 ...
- [Python] Python学习笔记之常用模块总结[持续更新...]
作为一种极其简单的编程语言,Python目前成为了最炙手可热的几种语言之一.它不仅简单易学,而且它还为用户提供了各种各样的模块,功能强大,无所不能.有利必有弊,学习Python同样有困扰,其中之一就是 ...
- Python Redis常用操作(持续更新)
目录 1.Redis简介 2.Redis部署 3.Redis API应用 4.String操作 1.Redis简介 redis是业界主流的key-value,nosql数据库之一.和Memcached ...
- python 系列文章汇总(持续更新...)
引言 不知不觉已经写了好几篇 python 相关的随笔了,从刚开始的门外汉到现在已经对 python 有一些入门了,时间也已经过去了一个多月. 写博客真是好处多多,不仅能提供整理自己学习的知识点,梳理 ...
随机推荐
- 软件模拟spi的注意事项
前几天遇到了软件模拟spi的时候,读和写不一致的现象,后来仔细研究了一下,其实是时序性问题不对. spi的有四种时序,硬件实现的时候,很简单,初始化后直接调用api即可.但是软件模拟就比较麻烦. 举例 ...
- 【已解决】pyinstaller UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position 110: invalid continuation byte
转载自勤奋的小青蛙本文链接地址: [已解决]pyinstaller UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in positi ...
- IDEA创建mybatisDemo,并实现简单的CRUD
Mybatis 是支持普通SQL查询,存储过程和高级映射的优秀持久层框架.在Java或者Java Web项目中,添加Mybatis必须的核心包,就能对数据表进行增删改查操作了.下面以MySQL数据库o ...
- 程序员为什么害怕低代码?ZT
转自:https://www.jianshu.com/p/cd89fe94cd30 低代码 是一种近些年兴起的企业软件快速开发技术和工具.借助低代码使用者无需编码即可完成企业应用的常用功能,少量编码扩 ...
- 前后端分离-crud&svn
前后端分离-crud&svn 1. 跨域 1.1 什么是跨域 请求方与服务方的源不同,即跨域,包括: 1. 协议不同 2. 域名不同 3. 端口不同 1.2 跨域不一定存在跨域问题 什么情况下 ...
- C# 数组冒泡排序复习
using System; namespace runoob { class MyClass { static void Main(string[] args) { MyClass1 myClass ...
- Java与Go语言差异1 传值还是传引用
在Java中,复杂类型(除原始类型外的其它类)作为入参,在方法中被修改后,跳出方法对象内的值仍会保持,也就是传的是引用.原始类型传的是值,如int, double等原始类型. Java代码: publ ...
- STL入门学习中碰到的一些函数
2020.02.10 fill #include<algorithm> vector<int> v{ 1, 2, 3, 3 }; fill(v.begin(), v.end() ...
- final 和 static之间的区别和联系
关键字final和关键字static两者的含义并不相似,但是笔者常常使用一段时间后就会忘记它们之间的区别,因为它俩总是相伴着出现.当只出现其中一个时,就对其代表的含义不甚清晰了.故而特地将相关知识点记 ...
- 解决问题:当redis服务端断开的时候`进程会崩溃(转载6哥笔记)
package main import ( "fmt" "github.com/astaxie/beego/logs" "github.com/gar ...