Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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 - Fatal编程技术网

Python 如何匹配'-';在正则表达式中,字面上是在[…]内部

Python 如何匹配'-';在正则表达式中,字面上是在[…]内部,python,regex,Python,Regex,我试图使用python中的正则表达式匹配[..]块中的“-”,但我不确定如何实现,因为“-”表示该块中的范围 编辑:我失败的正则表达式: regex = re.compile("^[0-9+-*/]+$") 只需将其放在[](字符类)的开头即可: 它为什么起作用? 当您将连字符放在字符类的开头时,大多数正则表达式引擎都足够智能,可以意识到您指的是文字连字符(因为您不能指示没有开头的范围)。From: 如果要在集合中包含']'或'-',请在其前面加反斜杠,或将其作为第一个字符 您的文本要求将连字

我试图使用python中的正则表达式匹配[..]块中的“-”,但我不确定如何实现,因为“-”表示该块中的范围

编辑:我失败的正则表达式:

regex = re.compile("^[0-9+-*/]+$")

只需将其放在
[]
(字符类)的开头即可:

它为什么起作用?

当您将连字符放在字符类的开头时,大多数正则表达式引擎都足够智能,可以意识到您指的是文字连字符(因为您不能指示没有开头的范围)。

From:

如果要在集合中包含
']'
'-'
,请在其前面加反斜杠,或将其作为第一个字符


您的文本要求将连字符放在集合的开头,但您的示例将其放在末尾。这两种风格看起来都很管用,但由于文档中只提到了开头,所以我不会把它放在结尾。很好。我最初写我的答案是同时提到开始和结束,但我在仔细检查文档后编辑了它。我忘了编辑示例以反映这一点。谢谢
regex = re.compile("^[-0-9+*/]+$")