正则表达式学习笔记

神山識 的博客 / 2023-08-12 / 原文

.:任意一个字符
\d:代表一个数字,等价于 [0-9]
\D:代表一个非数字,等价于 [^\d] 或者 [^0-9]
\s:代表一个空白字符,诸如 Space\n\rTab
\S:代表一个非空白字符
\w:代表一个单词字符,诸如a9_
\W:代表一个非单词字符
*量词,左侧字符串出现任意次(包括 \(0\) 次)
?量词,左侧字符出现 \(\le1\)
+量词,左侧字符出现 \(\ge1\)
{n}:左侧字符出现 \(n\)
{n,m}:左侧字符出现 \(x\) 次,其中 \(n\le x\le m\)\(m\) 可以不写表示无上限
[]范围符号[a2c] 表示三选一,[a-z] 表示范围,[^a-z] 表示非(反选),[\u4e00-\u9fa5] 表示一个汉字
():表示一个整体
|:代表或者,aaaa|b 可以匹配 aaaab

现在你已经掌握了正则表达式的基本操作了
练一练!
没有多余 \(0\) 的小数 -?([1-9]\d*\.\d*[1-9]|0|0\.\d*[1-9])

在 python 中,用 import rea=re.match(pattern,string,flag=0),然后 a.group() 表示所有匹配得上的词,注意是从起始位置匹配