博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python语言基础之正则表达式2,随机数
阅读量:7254 次
发布时间:2019-06-29

本文共 1872 字,大约阅读时间需要 6 分钟。

1.>>> print "\bhi"

hi

print r"\bhi"

\bhi

Python中遇到\会对后面的字符进行转义,而r(raw:生的。未加工的)不会对后面的字符串进行转义操作
2.re.findall(r"hi", text)

re是python里的正则表达式模块。findall是其中一个方法,用来按照提供的正则表达式,去匹配文本中的所有符合条件的字符串。返回结果是一个包含所有匹配的list。

3.“.”在正则表达式中表示除换行符以外的任意字符。会把输入的文本中每个字符都取出来。

'\S'在正则表达式中表示除换行符,空格以外的任意字符。会把输入的文本中每个非空格字符都取出来。
4.‘I.e’会匹配句子中以I开头,以e结尾的较长的句子,叫贪婪匹配
.‘I.
?e’会分别匹配句子中以I开头,以e结尾的较短的句子,叫懒惰匹配
5.表示数字的方法:
(1):[0-9]
(2):\d
如果要限定长度,就用{}代替+,大括号里写上你想要的长度。比如11位的数字:\d{11}
*表示的任意长度包括0,也就是没有数字的空字符也会被匹配出来

text = "site sea sue sweet se case sse ssee18789455549345665 loses"

m = re.findall(r"1\d+", text) m = re.findall(r"1.\d", text)
输出m:['18789455549345665']
m = re.findall(r"1\d", text)
输出m:['18']
m = re.findall(r"1\d{5}", text)
输出m:['187894']
text = "site sea sue sweet se case sse ssee187894555493456 65 loses"
m = re.findall(r"\d+", text)
输出m:['187894555493456', '65']
m = re.findall(r"\d
", text)
输出m:['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '187894555493456', '', '65', '', '', '', '', '', '', '']
6.元字符
\w - 匹配字母或数字或下划线或汉字(3.x版本可以匹配汉字,但2.x版本不可以)

\s - 匹配任意的空白符

^ - 匹配字符串的开始

$ - 匹配字符串的结束

\S其实就是\s的反义,任意不是空白符的字符。同理,还有:

\W - 匹配任意不是字母,数字,下划线,汉字的字符

\D - 匹配任意非数字的字符

\B - 匹配不是单词开头或结束的位置

[a]的反义是[^a],表示除a以外的任意字符。[^abcd]就是除abcd以外的任意字符。

*、+、{}来表示字符的重复。其他重复的方式还有:

? - 重复零次或一次

{n,} - 重复n次或更多次

{n,m} - 重复n到m次

7.随机数
random.randint(a, b)可以生成一个a到b间的随机整数,包括a和b。
random.uniform(a, b)生成a、b之间的随机浮点数。不过与randint不同的是,a、b无需是整数,也不用考虑大小
random.choice(seq)从序列中随机选取一个元素。seq需要是一个序列,比如list、元组、字符串。
random.randrange(start, stop, step)生成一个从start到stop(不包括stop),间隔为step的一个随机数。
random.sample(population, k)从population序列中,随机获取k个元素,生成一个新序列。sample不改变原来序列。
random.shuffle(x)把序列x中的元素顺序打乱。shuffle直接改变原有的序列。
引入的时候两种写法:
(1)from random import randint
randint(1, 10)
(2)import random
random.randint

转载于:https://blog.51cto.com/13930723/2162444

你可能感兴趣的文章
mybatis 传入多个参数
查看>>
opencv给图片添加文字水印<转>
查看>>
mysql查询表的数据大小
查看>>
初识Continuation
查看>>
smooth l1
查看>>
ET–异步协程使用–TimerComponent篇
查看>>
Linux LVM学习总结——Insufficient Free Extents for a Logical Volume
查看>>
智课雅思词汇---二十一、名词性后缀acity是什么意思
查看>>
JavaWeb 返回json数据的两种方式
查看>>
(转)Java 详解 JVM 工作原理和流程
查看>>
关于如何获得数据库数据变化的情况(比定时查询方便多了)
查看>>
阿里员工都是这样排查Java问题的,附工具单(转)
查看>>
用flutter写一个精美的登录页面
查看>>
[转]Docker php extensions gd
查看>>
Java Program Mapping GB2312 to Unicode
查看>>
C语言标准中的逻辑位移和算术位移
查看>>
查看当前运行的SQL语句
查看>>
【Python】opencv显示图像
查看>>
Web配置文件(web.config)简介
查看>>
如何培养员工的团队合作精神
查看>>