5-2

正则表达式(regular expression),是使用单个字符串来描述、匹配一系列符合某个语法的字符串。在python中对应的是re模块。待匹配模式和字符串可以采用unicode编码或者普通8-位编码,但是两者不能混用,即如果待匹配模式是Unicode编码,则字符串也必须是Unicode编码。

我们知道,正则表达式采用反斜杠“\”来表示一些特殊字符(在正则表达式中有特殊意义的字符),这会造成一些困扰。比如,我们需要在正则表达式中匹配反斜杠“\”,那么我们的正则表达式中则需要表示为“\\”,则在编程语言中我们则需要“\\\\”(每两个转义成正则表达式中的一个"\")。而在python中,用raw string表示则不再将"\"看成是特殊字符,比如上面在编程语言中可以写成r"\\",再比如r"\n"则表示为"\"和"n"两个字符。

^' :匹配字符串开头。当MULTILINE模式被指定时,可以匹配多行的开头。

‘$’ :匹配字符串末尾,或者在字符串末尾的换行符之前;在MULTILINE模式时,匹配每一行的末尾。

‘*’ :对RE中之前的内容重复0到n次,如ab*,可以匹配'a','ab','abbbb'等。

‘+’ :对RE中之前的内容重复1到n次,如ab+,可以匹配'ab','abbbb',但是不能匹配'a'。

‘?’ :对RE中之前的内容重复0或1次,如ab?,可以匹配'a'或'ab',但'abbbb'则不能匹配。

posted @ 2018-05-02 19:15  coder-2017  阅读(156)  评论(0编辑  收藏  举报