从文本中提取数据需要用到正则表达式,以前看过一点,但随着不用很快又忘记了。这次又看了一下,记录一下要点:
总体可以分为几类,代表字符的、表示重复的、表示分界的、表示分组的
代表字符:
.可以代表出换行之外的任意一个字符,注意是一个字符!
[]中括号内字符可以任意匹配其中一个字符,比如[0-9]表示匹配任意一个数字
代表字符的省略用法:
\d等价于[0-9],其大写表示相反:\D表示非数字,等价于1
\s匹配任意空字符,等价于[ \t\n\r\f]
还有一些写法,可参考:https://www.runoob.com/python...
代表重复:
*表示重复0-n个其前面的表达式内容
+表示重复1-n个其前面的表达式内容
?表示重复0-1个其前面的表达式内容
{n}表示重复n个其前面的表达式内容,还有{n,}、{n,m}
代表分界
^表示开始
$表示结束
代表分组
(re)括号代表分组,并记住re代表的匹配内容。如果有多个分组,返回时会把内容放在嵌套的元组中返回。
断言表示
零宽度断言如下:
?= 正先行断言-存在
?! 负先行断言-排除
?<= 正后发断言-存在
?<! 负后发断言-排除
图片参考https://blog.csdn.net/fd2025/...
另外有一个在线的正则表达式测试工具,在分析文本规律时,可以借助使用,网址是:菜鸟工具https://c.runoob.com/front-en...
这篇文章讲的比较详细,可以参考:https://blog.csdn.net/fd2025/...
- 0-9 ↩
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。