首页 > 解决方案 > 这个 re 表达式有什么区别?

问题描述

我正在测试 re 表达式,书中的例子是:

if re.search('^X\S*: [0-9.]+', line):

但是用我的表达我得到了同样的结果:

if re.search('^X\S*: [0-9]', line):

有什么区别?,我看不到什么?谢谢你。

标签: pythonregex

解决方案


这是两个完全不同的正则表达式:

^X\S*: [0-9.]+
^X\S*: [0-9]

并排比较会产生差异:[0-9.]+vs [0-9]

第二个将只匹配一位数字。

而第一个将匹配一个数字和点。

因此,对于以下示例,第二个将失败:

X: 1.23
X: 123.3213.23131

以及数字+点的任何其他组合。

相同的结果仅适用于以下情况:

X: 1

推荐阅读