正则表达式
- ?:零个或一个
- ‘*’:零个或多个
- ‘+’:一个或多个
- 匹配过程中符号使用 ‘’ 转义字符转换
- ‘^’:模式串开始位置
- ‘$’:模式串结束位置
- [asd213] 匹配中括号中的任意一个字符
- [^asd213] 匹配中除了中括号中的任意一个字符
- [普通字符] 正常匹配其中的字符。
- \n 匹配换行符。
- \t 匹配制表符。
- \w 匹配字母、数字、下划线。
- \W 匹配除了字母、数字、下划线的字符串(大写相当于逻辑非)
- \d 匹配十进制数字
- \D 匹配除了十进制数字的字符串
- \s 匹配空白字符
- \S 匹配非空白字符
- . 匹配除换行符 \n 之外的任何单字符。
- {n} 前一个字符恰好出现n次
- {n,} 前一个字符至少出现n次
- {n,m} 前一个字符至少n次,至多m次
- | 指明两项之间的一个选择。
- () 标记一个子表达式的开始和结束位置。
- 在字符串前面加r表示原生字符串,数据中反斜线不需要转义,针对的是反斜线
Python RE
import re
pattern = "[^abcdef]" # 定义模式串
print (re.compile(pattern).findall("abcdefg")) # 调用compile匹配函数
import re
pattern = "abcdef"
str = "abcdefgabcdefaaa"
match
print(re.match(pattern,str)) # 在起始位置匹配
print(re.match(pattern,str).group()) # 返回匹配到的内容
print(re.match(pattern,str).span()) # 返回匹配到的内容在文本的索引
print(re.search(pattern,str)) # 查找一次
print(re.findall(pattern,str)) # 查找全部
result = re.sub(pattern,"123456",str) # 替换字符串
print(result)