立即学习:https://edu.csdn.net/course/play/24756/280710?utm_source=blogtoedu
import re # # Python中的转义字符 # text = 'hello \nworld\n' # # 加个\表示后边紧跟的字符是普通字符,取消转义 # # 只能取消单个 # text1 = 'hello \\nworld\n' # # 字符串前加r,表示是原生字符串raw,非转义 # text2 = r'hello \nworld\n' # print(text,text1,text2) # # 正则表达式中的转义字符 # text = 'apple price is $99,orange price is $89' # # 正则表达式中$是以什么结尾,如果字符中要匹配$符号,则要在¥前加\避免歧义 # result = re.findall('\$\d+',text) # print(result) # 原生字符串和正则表达式 text = '\cba c' # \后加数字会变为特殊意义符号,如果未定义也不会当作普通字符处理,会报错提示转义错误 # 如果在前边加一个\形成\\c,也会报坏的转义错误,其实等价于\c # result = re.match('\\c',text) # 正则表达式的字符串解析规则 # 1. 先把字符串放在Python语言层面进行解析 # python中\\\\c会被解析为\\c # 2. 把Python语言层面解析的结果再放到正则表达式中进行解析 # 正则中再把\\c解析为\c进行匹配 result = re.match('\\\\c',text) print(result.group()) # 加了r以后,原生字符串就不会被python解析,直接交给正则表达式解析 result = re.match(r'\\c',text) print(result.group()) # 结论,尽可能的使用原生字符串进行匹配