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

Python_re模块

时间:2019-09-07 18:28:35      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:new   tar   ring   blank   特殊字符   col   规则   string   line   

一、re简介

  正则表达式是一种对字符串(包括普通字符、非打印字符、通用字符(称为“原子”)、特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

  正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。

二、“原子”讲解

  ### 普通字符作为原子

    普通字符就是指普通的字符,比如A-Za-z, 0-9。   

 1  #导入re模块
 2 import re
 3 string = "abcd123456ABC"
 4 pat = "abc"
 5 ret = re.search(pat, string)   
 6 print(ret)
 7 <re.Match object; span=(0, 3), match=abc>

 

   ### 非打印字符作为原子

    非打印字符指在计算机中有一些字符是确确实实存在,但是它们不能够显示或者打印出来。

    比如:1、ASCII码表为例,ascii码值在0-31的为控制字符,无法显示和打印

       2、/t /n 等一些转义字符

1 #导入re模块
2 import re
3 string = ‘‘‘abcd12
4 3456ABC‘‘‘
5 pat = "\n"
6 ret = re.search(pat, string)
7 print(ret)
8 <re.Match object; span=(6, 7), match=\n>

   ### 通用字符作为原子

1 ‘‘‘
2     \w 匹配的是任意字母、数字、下划线,类似但不等价于“[A-Za-z0-9_]”,这里的"单词"字符使用Unicode字符集。
3     \W 除匹配的是任意字母、数字、下划线,等价于“[^A-Za-z0-9_]”。
4     \d 匹配的是数字,等价于[0-9]。
5     \D 除匹配的是数字,等价于[^0-9]。
6     \s 匹配任何不可见字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。
7     \S 匹配任何可见字符。等价于[^ \f\n\r\t\v]。
8 
9 ‘‘‘

  ###原子表 ==> [ 任意字符 ]

 1  #导入re模块
 2 import re
 3 string = ‘‘‘abcd123456ABC‘‘‘
 4 pat = "abc[abcde]" #在[]中的任意字符选出一个存在匹配的值,如没有则返回None
 5 ret1 = re.search(pat, string)
 6 pat = "abc[^abc]"
 7 ret2 = re.search(pat, string) 
 8 print(ret1)
 9 print(ret2)
10 <re.Match object; span=(0, 4), match=abcd>
11 <re.Match object; span=(0, 4), match=abcd>
12 [Finished in 0.1s]

 三、元字符

  特殊字符

 1 ^    #匹配输入字行首。
 2 $    #匹配输入字行尾。
 3 \    # 转义字符
 4 {n}  #n次
 5 {n,} #至少n次
 6 {n,m}#至少n次,至多n次
 7 .    #匹配除\n的任意字符
 8 *    #匹配前一个字符0/多次
 9 +    #匹配前一个字符1/多次
10#匹配一个字符0/1
11 |    #或。匹配|左右表达式任意一个,从左到右匹配,如果|没有包括在()中,则它的范围是整个正则表达式

 

Python_re模块

标签:new   tar   ring   blank   特殊字符   col   规则   string   line   

原文地址:https://www.cnblogs.com/helloboke/p/11482175.html

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