正则表达式
模式 | 匹配 |
---|---|
\d | 一个数字字符 |
\D | 一个非数字字符 |
\s | 空白符 |
\S | 非空白符 |
\w | 一个数字或者字母字符 |
\W | 非数字非字母字符 |
\b | 单词边界 |
. | 除\n以外的任何字符 |
expr? | 0个或1个expr |
expr* | 0个或多个expr,尽可能多的匹配 |
expr+ | 1个或多个expr,尽可能多的匹配 |
expr*? | 0个或多个expr,尽可能少的匹配 |
expr+? | 1个或多个expr,尽可能多的匹配 |
expr{m} | m个连续expr |
expr{m, n} | m到n个expr,尽可能多的匹配 |
[abc] | a或b或c |
[^abc] | 非(a或b或c) |
expr(?=next) | 如果后面为next,返回expr |
expr(?!next) | 如果后面不是next,返回expr |
(?<=previous)expr | 如果前面是previous,返回expr |
(?<!previous)expr | 如果前面不是previous,返回expr |
import re
source = '''I give you a new commandment, that you love one another. Just as I have loved you, you also should love one another.'''
#找到所有以“a”开头的单词
m1 = re,findall(r'\ba[a-zA-Z]*',source)
#找到所有“you”前面的单词
m2 = re.findall(r'\w+(?= you),source)
#找到所有包含“n”的单词
m3 = re.findall(r'\b\w*n+\w*\b',source)
print(m1)
print(m2)
print(m3)
结果如下图所示: