标签:new tar ring blank 特殊字符 col 规则 string line
正则表达式是一种对字符串(包括普通字符、非打印字符、通用字符(称为“原子”)、特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。
### 普通字符作为原子
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 | #或。匹配|左右表达式任意一个,从左到右匹配,如果|没有包括在()中,则它的范围是整个正则表达式
标签:new tar ring blank 特殊字符 col 规则 string line
原文地址:https://www.cnblogs.com/helloboke/p/11482175.html