Python的正则表达式十分强大,常用的函数和类库如下:
这里有几个需要注意的常用表达式:
- [...]这个匹配是指匹配方括号中间出现过的某个字符,但只匹配一个字符例如[abcd]匹配a或者b或者c或者d。
- 字符的匹配是从待匹配字符串的第一个字符就开始匹配的,匹配上了就返回,没匹配上就返回空,这点很重要!
这里有几个要注意的表达式:
- \b表达式的意思是边界,举个例子,this is a dog. re = r'\bis'是可以匹配出is的,因为is左边是空格边界。这个边界可以理解 成只要不是字母相连的都是边界,空格句号问号都是边界。经测试数字不算边界噢
- 上面的表达我还没看懂,以后再添加记录
- 这里需要注意的是match是从头开始匹配,Search是找到一个就返回了(说的都是默认情况)。
- 如果想找出所有的那么需要使用Findall来获得所有的
- 这里需要注意的是Group()函数是返回匹配的组
- Groups()是如果在正则表达式中出现了元组那么它会返回所有匹配元组,例如 rs = re.match('(a)(b)','abb')。这时候group函数返回的就是ab,而groups()返回的是两个子组(a)和(b),但是第二个b是不会被匹配的,因为我们首先要匹配的是ab,第三个b前面不是a,简单点说这个元组的功能就是把匹配到的字符串再分割一下,方便分别得到两个字串。
- 举个例子:如果要从一句话中获得所有单词 rs = findall(r'\b(\w+)\b','i\'m a boy. she is a girl! we are fr1end!'),这样就得到了所有单词的list。