1.2 元字符与转义

2018-12-08  本文已影响7人  马小跳_

在上节的例子中,字符组中的横线-并不能匹配横线字符,而是用来表示范围,这类字符叫做元字符(meta-character)。字符组的开方括号[、闭方括号]^$都算元字符。在匹配中,它们有特殊的意义。但是,有时候并不需要表示这些特殊的意义,只需要表示普通字符,此时就必须做特殊处理。

字符组中的-,如果它紧邻着字符组的开方括号[,那么它就是普通字符,其他情况下都是元字符;而对于其他元字符,取消特殊含义的做法都是转义,做法是在正则表达式中的元字符前加上反斜线字符\

如果要在字符组内部使用横线-,最好的办法是将它排在字符组的开头。[-0-9]表示0~9这10个数字字符和横线-共同组成的字符组。

re.search('[-0-9]', '9') is not None  # True
re.search('[-0-9]', '-') is not None  # True

python提供了原声字符串(raw string),使得正则表达式不用考虑正则表达式之外的转义

re.search('[-\\^\\$]', '^') is not None  # True
re.search(r'[-\^\$]', '^') is not None  # True
上一篇 下一篇

猜你喜欢

热点阅读