在python中重新添加字符串的方法

时间:2012-04-13 10:47:11

标签: python

在下面的字符串中,正则表达式将匹配两个条件

aa="192.168.251.135,henry,thesecond,0"
aa1="192.168.254.35,henry,0"
#The below regular expression would satisfy bot aa and aa1
re.findall(r"(\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b),((?:\w+,\w+|\w+)),(\d+)",aa)

我的问题是在字符串ab="192.168.251.135,henry,thesecond,"中如果结尾不存在整数,是否可以通过扩展上面的re.findall()

在输出中追加1

2 个答案:

答案 0 :(得分:0)

你的问题令人困惑。如果我的理解是正确的,即使字符串没有以数字结尾,您也希望匹配字符串。这只是意味着您需要更改正则表达式,以便重复最后一个数字匹配是0次或更多次而不是1次或更多次

>>> re.findall(r"(\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b),((?:\w+,\w+|\w+)),(\d*)",ab)
[('192.168.251.135', 'henry,thesecond', '')]
>>> 
有趣的是,没有正则表达式,你可以很容易地做到这一点

>>> if not ab.rpartition(",")[-1].isdigit():
    ab+='1'

答案 1 :(得分:0)

使用str.isdigit()

if not aa[-1].isdigit():
    aa += '1'