Python_re模块

Posted helloboke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python_re模块相关的知识,希望对你有一定的参考价值。

一、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模块的主要内容,如果未能解决你的问题,请参考以下文章

Python_re模块

Python_Re模块&正则表达式

python_re正则表达

python的os模块fnmatch模块介绍

Python模块-re模块

python3怎么导入re模块