内容概要

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

正则表达式简介

'''正则表达式是一门语言,如果想在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. mysql 的 limit 与sql server 的 top n

    1.东西学多了,难免会混淆 貌似没有错,但是mysql不支持 top n 语法 而是使用 limit n 或 limit n , m 2.   top n 语法 是SQL server 的

  2. python安装第三方库的步骤

    windows下举例:1.下载openpyxl,http://pypi.doubanio.com/simple/openpyxl/2.将下载后的文件解压放到Python文件夹下的Lib文件夹下3.cm ...

  3. ubuntu 18.04 安装mongodb并设为开机自启动

    导入包管理系统使用的公钥 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB4 ...

  4. 解决MySQL服务器禁止远程连接的问题

    1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 " ...

  5. 离线环境安装使用 Ansible

    之前写了一篇介绍 Ansible 的文章 ,今天回顾看来写的有些匆忙,一些具体的操作步骤都没有讲明白,不利于读者复现学习.最近又申请了一个几百台机器的环境,正好借此机会把如何在离线环境中使用 Ansi ...

  6. 移动端字体图标不显示的Bug

    用16进制编码的字体图标在部分小米机型显示不正常. 测试机型:小米1,小米1s,小米2浏览器:微信6.1内置浏览器,QQ浏览器 5.7 X5内核字体图标:不显示svg图标:显示正常 以下来自额微信内置 ...

  7. 《手把手教你》系列技巧篇(五十七)-java+ selenium自动化测试-下载文件-下篇(详细教程)

    1.简介 前边几篇文章讲解完如何上传文件,既然有上传,那么就可能会有下载文件.因此宏哥就接着讲解和分享一下:自动化测试下载文件.可能有的小伙伴或者童鞋们会觉得这不是很简单吗,还用你介绍和讲解啊,不说就 ...

  8. “伏魔”赏金 | WebShell检测之「模拟污点引擎」首次公测,邀你来战!

    安全是一个动态的过程,攻防对抗如同在赛博世界里降妖伏魔,其要义是:取彼之长,补己之短.--伏魔引擎的诞生 伏魔引擎挑战赛 注册时间: 2022.01.10 00:00:00 - 2022.01.24 ...

  9. 【刷题-LeetCode】148 Sort List

    Sort List Sort a linked list in O(n log n) time using constant space complexity. Example 1: Input: 4 ...

  10. unity3d inputfield标签控制台打印object

    inputfield标签控制台打印object 这说明没有字符串给入 这是因为 inputfield下的text不能人为写入值,只能在game界面输入. 所以这个标签里的text做个默认值不好搞.