内容概要

  • 正则表达式简介
  • 字符组
  • 特殊符号
  • 量词
  • 贪婪匹配与非贪婪匹配
  • 取消转义

正则表达式简介

'''正则表达式是一门语言,如果想在python中使用,需要导入re模块'''
# 什么是正则表达式?
利用一些特殊符号的组合去字符串中筛选出符合条件的数据 """
1.必须是11位
2.必须是纯数字
3.必须符合手机号的排布 15 16 18 19
"""
# phone = input('请输入你的手机号>>>:').strip()
# if len(phone) == 11:
# if phone.isdigit():
# if phone.startswith('15') or phone.startswith('16') or phone.startswith('18') or phone.startswith('19'):
# print('手机号正确')
# else:
# print('格式不对')
# else:
# print('手机号必须是纯数字')
# else:
# print('必须是11位') # 正则表达式 import re
while True:
phone = input('please input your phone number:')
if re.match('^(15|16|17|18)[0-9]{9}$', phone):
print('合法')
break
else:
print('格式不对')

字符组

'''
特征是使用中括号括起来,字符组默认只能单个单个字符匹配
''' [0123456789] # 表示匹配中括号内任何一个数字 简写为 [0-9] [a-z] # 匹配小写字母a到字母b其中任意一个字母 [A-Z] # 匹配大写字母A到字母Z其中任意一个字母 [a-zA-Z0-9] # 匹配所有数字 大小写字母

特殊符号

# 特殊符号默认也只能单个单个字符匹配
. '匹配'除了换行符之外的任意字符
\d 匹配纯数字
^ 匹配字符串的开始(判断是否以^后面的字符开头)
$ 匹配字符串的结尾(判断是否以$前面的字符结尾)
'''^与$组合使用可以精准限制要查找的数据''' a|b 匹配a或者b
() 匹配括号内的表达式也表示一个组(不会影响正则表达式的匹配,只是单纯的分组)
[...] 匹配字符组中的字符
[^...] 取反,除了字符组内的字符,其它字符都可以识别

量词

1、表达式在没有量词修饰时,都是单个单个匹配的
2、量词必须与字符串或者特殊符号一起使用,不能单独使用
3、量词只能修饰它前一个字符或表达式,ab+ , 只表示b能重复一次或者无数次 * 重复零次或者更多次
+ 重复1次或者更多次
? 重复0次或者1次
{n} 重复n次
{n, } 重复n次或更多次
{n, m} 重复n次到m次 '''正则表达式中的量词默认都是“贪婪匹配”'''

贪婪匹配与非贪婪匹配

# 带匹配的字符串
<script>123</script> # 正则表达式
<.*> '''默认贪婪匹配,尽可能多的匹配'''
匹配结果:<script>123</script> # 将贪婪变为非贪婪,只需要在量词的后面加上问好即可
<.*?> '''非贪婪匹配,尽可能少的匹配,结束条件由左右两边决定'''
匹配结果:<script>,</script>

取消转义

在正常的原生表达式中,要取消转义字符只有一种方法,'\', --> 1、取消一个: '\\n',  取消两个: '\\\\n'

在python的环境中,还提供另一种快捷方便的方法: r'D:\n\r\a'

正则表达式以及re模块的使用的更多相关文章

  1. Python之正则表达式(re模块)

    本节内容 re模块介绍 使用re模块的步骤 re模块简单应用示例 关于匹配对象的说明 说说正则表达式字符串前的r前缀 re模块综合应用实例 正则表达式(Regluar Expressions)又称规则 ...

  2. 【转】Python之正则表达式(re模块)

    [转]Python之正则表达式(re模块) 本节内容 re模块介绍 使用re模块的步骤 re模块简单应用示例 关于匹配对象的说明 说说正则表达式字符串前的r前缀 re模块综合应用实例 参考文档 提示: ...

  3. 【Python爬虫】正则表达式与re模块

    正则表达式与re模块 阅读目录 在线正则表达式测试 常见匹配模式 re.match re.search re.findall re.compile 实战练习 在线正则表达式测试 http://tool ...

  4. Python与正则表达式[0] -> re 模块的正则表达式匹配

    正则表达式 / Regular Expression 目录 正则表达式模式 re 模块简介 使用正则表达式进行匹配 正则表达式RE(Regular Expression, Regexp, Regex) ...

  5. python 正则表达式re使用模块(match()、search()和compile())

    摘录 python核心编程 python的re模块允许多线程共享一个已编译的正则表达式对象,也支持命名子组.下表是常见的正则表达式属性: 函数/方法 描述 仅仅是re模块函数 compile(patt ...

  6. 正则表达式之re模块

    re模块一.什么是正则表达式与re模块?1.1 字符组1.2 元字符1.2.1 单个使用1.2.2 组合使用二.为什么要使用正则三.如何使用3.1 re模块的三种比较重要的方法3.1.1 findal ...

  7. python学习笔记(十)——正则表达式和re模块

    #正则表达式和re模块 # match(pattern, string,[flag]) #在字符串开始时进行匹配 # pattern 正则表达式 # string 要匹配的字符串 # [flag] 可 ...

  8. python正则表达式之re模块方法介绍

    python正则表达式之re模块其他方法 1:search(pattern,string,flags=0) 在一个字符串中查找匹配 2:findall(pattern,string,flags=0) ...

  9. python中的正则表达式(re模块)

    一.简介 正则表达式本身是一种小型的.高度专业化的编程语言,而在python中,通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配.正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎 ...

  10. pytho day6 <正则表达式、常用模块、反射>

    本节介绍: 一:正则表达式: 正则表达并不是python 独有的.在各个语言里都有该语法的介绍.正则表达是处理字符串的强大的处理工具.拥有自己的独特的 处理方法.和处理引擎.虽然性能没有python ...

随机推荐

  1. Java 总结 数据底层原理 【包括 ArrayList、LinkedList、hash table、HashMap、Hashtable、ConcurrentHashMap、hash code、HashSet、LinkedHashMap、LinkedHashSet】

    1.ArrayList (1)底层是由动态数组实现的[使用了List接口]. (2)动态数组是长度不固定,随着数据的增多而变长. (3)如果不指定,默认长度为10,当添加的元素超过当前数组的长度时,会 ...

  2. PPT文档学习小练习链接

    1. <初识PPT2010> https://www.toutiao.com/i6486689592241029645/ 2. <PowerPoint2010实现折线图动态展示> ...

  3. [javaweb]strut2-001漏洞分析

    Strut2-001 漏洞描述 框架解析JSP页面标签时会对用户输入的Value值获取,在获取对应的Value值中递归解析%{.}造成了二次解析,最终触发表达式注入漏洞,执行任意代码 影响版本 2.0 ...

  4. SQL安全执行

    begin tran begin -----------执行SQL开始----------------- update Audioset Name =3 -----------执行SQL结束----- ...

  5. html,js 获取父窗口元素

    $("#父窗口元素ID",window.parent.document) window.parent.document.getElementById("父窗口元素ID&q ...

  6. 【刷题-LeetCode】205. Isomorphic Strings

    Isomorphic Strings Given two strings *s* and *t*, determine if they are isomorphic. Two strings are ...

  7. manjora20不小心卸载,重新安装terminal,软件商店/软件中心linux类似

    问题 重新安装老版本gnome-shell 如果突然死机可能卸载完了terminal和软件商店,但是没有安装新的. 此时没有terminal也没有软件商店 无法安装软件 解决方案 terminal c ...

  8. 处理json中的空格

    很多json中带有空格 而json解析类很多自带去空行 导致解析json如下 只能在解析之前用"111111"之类的替换 之后再替换回来 result = result.Repla ...

  9. Cesium入门3 - Cesium目录框架结构

    Cesium入门3 - Cesium目录框架结构 Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ app目录 下 ...

  10. T-SQL的游标和fetch

    很多时候我们sql操作会得到一个结果集合,当我们需要依次查看集合内的内容时,我们便需要游标特性了. 所以,sql的游标类似c++里容器的迭代器,下面举个例子来辅助理解: DECLARE vend_cu ...