正则表达式(RE)是通过re模块来实现的。

字符匹配:

--普通字符:

*大多数字母和字符一般都会和自身匹配。

--元字符:. ^ $ * + ? {}  [] \ | ()

[]:

通常用来指定一个指标集。其中的任何一个都可以进行匹配。[0-9],[a-zA-Z0-9],[a-z]

元字符在字符集中不起作用。

补集匹配不在区间范围内的字符。

^:

通常用来指定行首。

$:

通常用来指定行尾。

\:

反斜杠取消后面的元字符的特殊意思。

反斜杠后面加上不同的字符表示不同特殊意义。

{m,n}:

把前面的规则重复的次数。最少的次数,重复的次数,重复m到n次。

* :

把前面的字符重复多次,包括0到多次。

+:

前面的字符最少出现一次。

?:

前面的字符出现0次或者一次。

可以用来实现最小匹配。

{0,}和*等同

{1,}和+等同

{0,1}和?等同

正则表达式的编译:

import re

p= re.compile(r"^ad");

p是一个正则表达式的对象

p.findall("absd")

常用方法:

match():如果在字符串开始位置找到就返回一个对象,没有找到就返回空。

search(): 扫描字符串,找到这个re匹配的位置。

把soucrString中的符合正则表达式的替换成newStr.,count是替换次数。

re.sub(re,"newStr",sourceString)

re.subn(re,"newStr",sourceString):最后一个值表示替换的次数。

用re来切割s:

re.split(re, s)

分组:

分组一般是用小括号括起来,如果正则表达式中包含分组,则会返回分组匹配的部分,而不是返回全部正则表达式匹配的字符。

python学习笔记3----正则表达式的更多相关文章

  1. Python学习笔记013_正则表达式

    Python中的正则表达式是通过 re 模块实现的. 通配符 .  表示除了换行以外的任何字符; 编写正则表达式时使用  r're'  , r + 正则表达式内容 >>> impor ...

  2. python学习笔记之——正则表达式

    1.re模块 Python通过re模块提供对正则表达式的支持,re 模块使 Python 语言拥有全部的正则表达式功能.使用re的一般步骤是先将正则表达式的字符串形式编译为Pattern实例,然后使用 ...

  3. Python学习笔记 - day10 - 正则表达式

    正则表达式 字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在.比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样 ...

  4. Python学习笔记(正则表达式)

    \b - 表示以什么开头或结尾 \d - 匹配数字 \w - 匹配字母或数字或下划线或汉字(我试验下了,发现3.x版本可以匹配汉字,但2.x版本不可以) \s - 匹配任意的空白符 ^ - 匹配字符串 ...

  5. Python学习笔记之正则表达式

    本篇在写的时候大量参考了https://deerchao.cn/tutorials/regex/regex.htm的内容 一.什么是正则表达式 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂 ...

  6. 【Python学习笔记】正则表达式

    Ref:https://deerchao.net/tutorials/regex/regex.htm#greedyandlazy 1. 常用元字符 2.字符转义 查找元字符本身时,需要使用\来取消这些 ...

  7. 【目录】Python学习笔记

    目录:Python学习笔记 目标:坚持每天学习,每周一篇博文 1. Python学习笔记 - day1 - 概述及安装 2.Python学习笔记 - day2 - PyCharm的基本使用 3.Pyt ...

  8. [Python学习笔记]正则表达式总结

    常用缩写字符及其含义表格查询 缩写字符分类 含义 \d 0-9的任意数字 \D 除0-9的数字以外的任何字符 \w 任何字母.数字或下划线字符(可以认为是匹配"单词"字符) \W ...

  9. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  10. Python学习笔记(十一)

    Python学习笔记(十一): 生成器,迭代器回顾 模块 作业-计算器 1. 生成器,迭代器回顾 1. 列表生成式:[x for x in range(10)] 2. 生成器 (generator o ...

随机推荐

  1. 【算法导论C++代码】Strassen算法

    简单方阵矩乘法 SQUARE-MATRIX-MULTIPLY(A,B) n = A.rows let C be a new n*n natrix to n to n cij = to n cij=ci ...

  2. python 将编码转为汉字

    print '\u57fa\u7840\u5316\u5de5\u4e1a'.decode('unicode-escape') print urllib.unquote("%C0%FA%CA ...

  3. 读书笔记--MapReduce 适用场景 及 常见应用

    原文:http://blog.csdn.net/smile0198/article/details/20578389 1.MR解决的问题的特点   MR是应大数据的背景产生,其解决的问题的共性为:大问 ...

  4. 手写Json转换

    在做项目的时候总是要手动将集合转换成json每次都很麻烦,于是就尝试着写了一个公用的方法,用于转换List to json: using System; using System.Collection ...

  5. maven中如何指定jdk的版本

    问题再现: 当我们每次创建maven项目时,jdk的默认版本是1.5,而我们一般机器上安装的是1.7以上的版本,jdk版本不一样,遇到这种问题,有两种解决办法: 至于右键设置jdk版本不推荐,在此不作 ...

  6. Cocos2dx&Lua - UI显示优化之怎样解决解析大量json文件

    GUIReader中有个widgetFromJsonFile的方法,此方法是用于解析json文件(cocostudio生成的UI的)并返回该文件的父节点(Widget),然后便于进一步的UI操作(如获 ...

  7. LeetCode-NQueensII

    经典的N皇后问题, 这里学到了一个非常牛的新方法(http://www.matrix67.com/blog/archives/266),用位运算来求解N皇后问题: 思路其实也很容易懂,一点都不复杂, ...

  8. ant-design-pro Login 组件 实现 rules 验证

    1.引入组件 // 引入 ant-design-pro import Login from 'ant-design-pro/lib/Login'; /** * UserName 账号 * Passwo ...

  9. 两名技术人员,历经8小时Piranha Games成功集成Xsolla

    w=580&h=304" alt="" width="580" height="304" style="max- ...

  10. SecureCRT 默认配置

    1.配置默认设置