如何使用python正则表达式将正则表达式与其中的一个数字进行匹配?

2024-06-02 04:49:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图将一个字符串与其中的一个数字进行匹配。e、 例如,“5”、“4”、“3”,等等。我正在使用python中的re库来帮助我使用regex。

我有以下三个标记,分别用if语句设置:

import re

if re.match(r'\d{2}:\d{2}:\d{2}', item):
    timeflag = True

if re.match(r'\d{4}', item):
    voltflag = True   

if re.match(r'^\d{1}', item):
    socflag = True

这里有一个奇怪的部分:当我传递一个值为'2754'的项时,socflag仍然被设置为True,即使只有在匹配只有一个数字的字符串时才应该是真的,比如'5'

我怀疑我的regex语法不正确。那么,如何使用python正则表达式匹配一个一位数的字符串呢?


Tags: 字符串标记importretrueifmatch数字
2条回答

我同意用户@kaveh的评论。这就是我得到的:

enter image description here

结果:

enter image description here

如果它由1位数字组成,而没有其他数字:

re.match('^\d$', item)

如果它可以包含其他非数字字符:

re.match('^\D*\d\D*$', item)

通过使用^启动regex,您只需确保在regex测试中使用了item的第一个字符。通过在末尾使用$,您将确保在regex测试中使用item的最后一个字符。通过按所示方式同时使用^$,您将确保在测试中使用item的所有字符。

正则表达式允许在找到的第一个数字和item字符串的结尾之间发生任意数量的事情。

这是测试regex的好资源:

https://www.debuggex.com/

相关问题 更多 >