码迷,mamicode.com
首页 > 编程语言 > 详细

在python中使用正则表达式

时间:2018-08-07 22:02:17      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:for循环   random模块   表达   range   play   随机   转义符   pre   结果   

一.转义符

  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))
View Code

四.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)

 

在python中使用正则表达式

标签:for循环   random模块   表达   range   play   随机   转义符   pre   结果   

原文地址:https://www.cnblogs.com/hu13/p/9439638.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!