我有以下正则表达式:
valueRegex = re.compile('^(?P<DevID>.{2})(?P<CMD>TMPA|BATT)(?P<Value>-?[\d\.]+)-*$', re.I)
现在,我想另外检查一下,给定的字符串是否有11个字符的精确长度。通常情况下,这不会是一个问题,但在这种情况下,我不知道如何实现它。几次尝试都没成功,我也没办法了。:/
也许,我只是看不到很简单的解决办法:)
下面是我需要检查字符串的函数:
def parseMessages(llapMsg):
rawMsgs = llapMsg.split('a')
result = []
data = [valueRegex.match(val) for val in rawMsgs]
for val in data:
if val is not None:
result.append(val.groupdict())
return result
您可以在列表中添加所需的其他检查。所以,你可以这样做:
然后,在浏览列表时,值将是
True
或False
,因此您只需检查值本身:在赛后测试比赛的长度会更容易。你知道吗
使用可选的
-?
部分,加上表达式中的+
和*
乘法器,将其更改为匹配11个字符将是。。很棘手。你知道吗您可以使用
MatchObject
.start()
和.end()
方法快速访问匹配的长度:相关问题 更多 >
编程相关推荐