在python中使用re方法来追加字符串

在python中使用re方法来追加字符串,python,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=“19

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

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,您的问题令人困惑。如果我的理解是正确的,那么即使字符串没有以数字结尾,也要匹配字符串。这仅仅意味着您需要更改正则表达式,以便最后一个数字匹配的重复次数为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'
使用
str.isdigit()


请澄清您的问题:您到底想做什么?如果您观察字符串,它以一个数字结尾,如果字符串结尾没有任何数字,我想在结果中添加1..我编辑了aa1,请查看..a类似于CVS(使用CVS模块解析它),您不需要正则表达式,甚至可以aa.split(','))为了得到结果。RE很酷,但你应该尽量避免它们。@Rajeev:
*
,零次或多次,
+
一次或多次
if not aa[-1].isdigit():
    aa += '1'