match_obj = re.match(正则表达式, 要匹配的字符串)
正则表达式里面经常会出现\s,\S,\d,\D,\w,\W,.,\1等这些字符,一不小心代码就会出现灰色波浪线,怎么写才能写的规范呢?
match_obj = re.match("\W", “&”) # &
match_obj = re.match(r"\W", “&”) #两个都ok
match_obj = re.match(’<([a-zA-Z1-6]+)>.</\1>’, ‘hh’) # hh
match_obj = re.match(r’<([a-zA-Z1-6]+)>.</\1>’, ‘hh’) #两个都ok
match_obj = re.match(’[a-zA-Z0-9_]{4,20}@(163|126|qq)\.com’, ‘hello@163.com’) # hello@163.com
match_obj = re.match(r’[a-zA-Z0-9_]{4,20}@(163|126|qq).com’, ‘hello@163.com’) #两个都ok
总结:
1.正则表达式的字符串前面加了r,表示已经转义,正则表达式里面的反斜杆按照正常语法书写
2.正则表达式的字符串前面没加r,表示没有转义,正则表达式里面的反斜杆->两个\表示一个\,其中一个是转义符
3.还有一个特殊的就是(.)这个符号:(.)本身就是一个匹配符,为了让它可以当作普通的点使用,其前面要加一个反斜杆转义;除了以上必须同时满足1或者2;