比较运算符的正则表达式

Chr*_*per 2 python regex

我很抱歉不得不问这个问题,并且我怀疑对于任何人来说,即使是稍微熟悉正则表达式的人来说,这也是非常简单的。我有一个始终采用以下形式的字符串comparison_operator integer

例如'>2:''<=0:'.

我想将比较运算符和数字分开,但我无法找到有关如何执行此操作的明确解释。非常感谢任何帮助。我正在使用 Python 的“re”模块,尽管据我了解,正则表达式或多或少与语言无关。

Ara*_*Fey 5

您可以使用[<>]=?|==来匹配运算符,并\d+用来匹配数字。将每个模式包含在捕获组中将允许您访问匹配的值:

>>> re.match(r'([<>]=?|==)(\d+)', '>2:').groups()
('>', '2')
>>> re.match(r'([<>]=?|==)(\d+)', '<=0:').groups()
('<=', '0')
Run Code Online (Sandbox Code Playgroud)

您还可以将匹配的组解压缩为单独的变量:

match = re.match(r'([<>]=?|==)(\d+)', your_input)
operator, number = match.groups()
Run Code Online (Sandbox Code Playgroud)