Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何避免在正则表达式中分组_Python_Regex_Regex Group - Fatal编程技术网

Python 如何避免在正则表达式中分组

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

您好,我正在尝试解析类似“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+)?)",  "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后面的字符串