一.转义符

  1.在python中的转义符

    (1)\\n与\n的区别

    (2)r"\next" 通过r来进行转义

    (3)"\\\\d"与"\\d"的组合

  2.在正则表达式中的转义符

    (1)\\n   表示匹配\n这个字符

    (2)[(), +, *,/, ., ?, $]  这些符号在[]中会现原形

    (3)"\("  表示匹配(这个符号

二 re模块

  1.字符串匹配

    (1)re.findall("正则表达式", "字符串")       返回一个列表,返回的内容为 匹配到的所有内容,如果没有匹配到内容返回[].

    (2)re.search("正则表达式", "字符串")     返回匹配到结果的对象,如果没有匹配到内容返回None

    (3)re.match("正则表达式", "字符串")       返回内容同上search,但是在字符串开头必须匹配到内容,如果开头没匹配到返回None

  2.替换和切割

    (1)re.sub("正则表达式", "替换的内容", "字符串",个数(默认全部替换))   返回一个被替换过的字符串

    (2)re.subn("正则表达式", "替换的内容", "字符串",个数(默认全部替换))   返回一个元组,返回内容为被替换过 的字符串和替换的个数

  3.进阶方法

    (1)re.compile("正则表达式")    (时间效率)  节省时间:只有多次使用某一个相同的正则表达式时才使用

    (2)re.findter("正则表达式", "字符串")  返回一个迭代器,通过for循环可得到匹配到的所有结果的对象.再使用group()打印用每个结果

三.正则表达式在python中使用的一些特殊用法

  1.findall+分组     优先显示分组里的内容,要想取消分组优先,要在分组中加(?:)

  2.search+分组 通过group(n),可以得到group()匹配到的内容

  3.split+分组   保留分组内被分割掉的内容

  4.分组命名

      (1).

ret = re.search("<(?P<name>\w+)>\w+</(?P=name)>", "<a>hahaha</a>")
print(ret.group())
print(ret.group("name"))
print(ret.group(1))
# print(ret.group(2))
ret = re.search(r"<(\w+)>\w+</\1>", "<a>hahaha</a>")
print(ret.group())
print(ret.group(1))

四.random模块

  1.随机小数

    (1).random.random()  0-1范围内的随机小数

    (2)random.uniform(1,5)任意范围内的随机小数

  2.随机整数

    (1)random.randint(1,2)           [1,2]包含2在内的范围内随机整数

    (2)random.randrange(1,2)     [1,2) 不包含2在内的范围内的随机整数

    (3)random.randrange(1,10,2)    [1,10)不包含10在内的范围内的随机奇数

  3.随机抽取

    (1)random.choice(list)   随机从列表中抽取一个值

    (2)random.sample(lst,n)   随机抽取n个值

    (3)random.stuffle(list)   在原列表的基础上做乱序

随机抽取
随机抽取一个值
lst = [1,2,3,'aaa',('wahaha','qqxing')]
ret = random.choice(l)
print(ret)
随机抽取多个值
ret = random.sample(lst,2)
print(ret) 打乱顺序 在原列表的基础上做乱序
lst = [1,2,3,'aaa',('wahaha','qqxing')]
random.shuffle(lst)
print(lst)
 def rand_code(n=6 , alph_flag = True):
code = ''
for i in range(n):
rand_num = str(random.randint(0,9))
if alph_flag:
rand_alph = chr(random.randint(97,122))
rand_alph_upper = chr(random.randint(65,90))
rand_num = random.choice([rand_num,rand_alph,rand_alph_upper])
code += rand_num
return code ret = rand_code(n = 4)
print(ret)

在python中使用正则表达式的更多相关文章

  1. Python::re 模块 -- 在Python中使用正则表达式

    前言 这篇文章,并不是对正则表达式的介绍,而是对Python中如何结合re模块使用正则表达式的介绍.文章的侧重点是如何使用re模块在Python语言中使用正则表达式,对于Python表达式的语法和详细 ...

  2. 在Python中使用正则表达式同时匹配邮箱和电话并进行简单的分类

    在Python使用正则表达式需要使用re(regular exprssion)模块,使用正则表达式的难点就在于如何写好p=re.compile(r' 正则表达式')的内容. 下面是在Python中使用 ...

  3. python模块 re模块与python中运用正则表达式的特点 模块知识详解

    1.re模块和基础方法 2.在python中使用正则表达式的特点和问题 3.使用正则表达式的技巧 4.简单爬虫例子 一.re模块 模块引入; import re 相关知识: 1.查找: (1)find ...

  4. Python学习-38.Python中的正则表达式(二)

    在Python中,正则表达式还有较其他编程语言有特色的地方.那就是支持松散正则表达式了. 在某些情况,正则表达式会写得十分的长,这时候,维护就成问题了.而松散正则表达式就是解决这一问题的办法. 用上一 ...

  5. Python学习-37.Python中的正则表达式

    作为一门现代语言,正则表达式是必不可缺的,在Python中,正则表达式位于re模块. import re 这里不说正则表达式怎样去匹配,例如\d代表数字,^代表开头(也代表非,例如^a-z则不匹配任何 ...

  6. [Python]网络爬虫(七):Python中的正则表达式教程

    转自:http://blog.csdn.net/pleasecallmewhy/article/details/8929576#t4 接下来准备用糗百做一个爬虫的小例子. 但是在这之前,先详细的整理一 ...

  7. [Python]网络爬虫(七):Python中的正则表达式教程(转)

    接下来准备用糗百做一个爬虫的小例子. 但是在这之前,先详细的整理一下Python中的正则表达式的相关内容. 正则表达式在Python爬虫中的作用就像是老师点名时用的花名册一样,是必不可少的神兵利器. ...

  8. 在python中使用正则表达式(转载)

    https://www.cnblogs.com/hanmk/p/9143514.html 在python中使用正则表达式(一)   在python中通过内置的re库来使用正则表达式,它提供了所有正则表 ...

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

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

  10. python中关于正则表达式三

    2015年8月14日 11:10 7.2正则表达式操作 正则表达式使用反斜杠字符'\'来暗示一些特殊的形式或者允许特殊的字符使用但是没有调用它们特殊的意思.在字符串常量中的相同目标的字符的python ...

随机推荐

  1. php.ini 开发和线上配置的差异

    比对了一下php自带的php.ini-development和php.ini-production,备忘. display_errors = Ondisplay_startup_errors = On ...

  2. Docker中使用redis

    项目中频繁使用Redis,为了不用每次打开Redis目录去启动Redis想到了Docker可以作为Redis的容器 直接下载使用就行 把Docker使用Redis的过程分享下:   1.     拉取 ...

  3. 给新手学习Java的建议

    有很多的朋友都在问我一个同样的问题:新手应该如何能学好Java.我做了一个简单的总结,分享给大家: 1-信念:无论你是选择JAVA,C,C#,C++....还是其他的语言编程,信念是第一位,只有相信自 ...

  4. 跨平台桌面程序框架Electron

    https://www.npmjs.com/ js库

  5. java后端实习,从最简单的crud做起

    现在就是做ssm框架下的sql语句,主要是select语句,sql语句没什么难的,孰能生巧,趁此机会,把自己的sql基础打扎实,也是一种实习的经验. 1.在子查询中字段的类型不相容怎么办? cast函 ...

  6. jq 监听调整浏览器窗口的大小

    <html><head><script type="text/javascript" src="http://www.w3school.co ...

  7. 图解android开发在界面上显示图片

    图解android开发在界面上显示图片<申明:转自百度> <原文章地址:http://jingyan.baidu.com/article/49711c6153a277fa441b7c ...

  8. 【实战】Docker入门实践二:Docker服务基本操作 和 测试Hello World

    操作环境 操作系统:CentOS7.2 内存:1GB CPU:2核 Docker服务常用命令 docker服务操作命令如下 service docker start #启动服务 service doc ...

  9. pycharm import pygame 出现报错:No module named 'pygame'

    首先发现装的Python 有问题原来的Python3.6.4版本安装完成后Scripts文件夹里空白的,什么也没有,从https://www.python.org/downloads/windows/ ...

  10. 洛谷P3167 通配符匹配 [CQOI2014] 字符串

    正解:哈希+dp/AC自动机/kmp 解题报告: 传送门! 这题解法挺多的,所以就分别港下好了QwQ 首先港下hash+dp趴 可以考虑设dp式f[i][j]:匹配到第i个通配符了,下面那个字符串匹配 ...