首页 > 解决方案 > 比较运算符的正则表达式

问题描述

我很抱歉不得不问这个问题,我怀疑对于任何对正则表达式稍微熟悉的人来说,这都是微不足道的。我有一个始终采用以下形式的字符串comparison_operator integer

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

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

标签: pythonregex

解决方案


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

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

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

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

推荐阅读