Python 如何避免在正则表达式中分组
您好,我正在尝试解析类似“2.2.2.2-22”的字符串 在使用python re.findall函数时,我得到了两个组: 我不明白RE有什么问题:Python 如何避免在正则表达式中分组,python,regex,regex-group,Python,Regex,Regex Group,您好,我正在尝试解析类似“2.2.2.2-22”的字符串 在使用python re.findall函数时,我得到了两个组: 我不明白RE有什么问题: re.findall(r"([\d.]+(-\d+)?)", "2.2.2.2-22") 这给我的结果是:[('2.2.2.2-22','-22')] 我不想要第二组。我怎样才能解决这个问题 为了避免分组,您可以使用?: >>> import re >>> re.findall(r"([\d.]+(?:-\d
re.findall(r"([\d.]+(-\d+)?)", "2.2.2.2-22")
这给我的结果是:[('2.2.2.2-22','-22')]
我不想要第二组。我怎样才能解决这个问题 为了避免分组,您可以使用
?:
>>> import re
>>> re.findall(r"([\d.]+(?:-\d+)?)", "2.2.2.2-22")
['2.2.2.2-22']
它将强制该组存在,但不会捕获并返回值。为了避免分组,您可以使用
?:
>>> import re
>>> re.findall(r"([\d.]+(?:-\d+)?)", "2.2.2.2-22")
['2.2.2.2-22']
它将强制该组存在,但它不会捕获并返回值。查找Python正则表达式问题的好地方是查找Python正则表达式问题的好地方是@hwnd,它不会捕获字符串OP isafter@hwnd这不会捕获OP后面的字符串