#导入正则表达式模块
import re
#创建一个regex对象
Regex = re.compiler(r'\d\d\d-\d\d\d-\d\d\d\d')
#进行匹配
phonenumber = Regex.search('My number is 123-456-7890')
print(phonenumber.group())
  • search 和 findall


编写字符分类 表示
\d 0 到 9 的任何数字
\D 除 0 到 9 的数字以外的任何字符
\w 任何字母、数字或下划线字符(可以认为是匹配“单词”字符)
\W 除字母、数字和下划线以外的任何字符
\s 空格、制表符或换行符(可以认为是匹配“空白”字符)
\S 除空格、制表符和换行符以外的任何字符
符号 表示
? 匹配0次或1次
* 匹配0次或多次
+ 匹配1次或多次
^ 匹配文本开始处
$ 匹配文本结尾处
. 通配字符,匹配初换行以外的所有字符
  • {n} 匹配 n 次前面的分组。
  • {n,} 匹配 n 次或更多前面的分组。
  • {,m} 匹配零次到 m 次前面的分组。
  • {n,m} 匹配至少 n 次、至多 m 次前面的分组。
  • {n,m}? 或 *? 或 +? 对前面的分组进行非贪心匹配。|
  • [abc] 匹配方括号内的任意字符(诸如 a、b 或 c)。
  • [^abc] 匹配不在方括号内的任意字符。