正则表达式比较运算符

时间:2018-10-03 06:31:19

标签: python regex

对于不得不问这个问题,我深表歉意,我怀疑对于熟悉regexes的人来说,这很简单。我有一个始终为以下形式的字符串:comparison_operator integer

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

我只想将比较运算符和数字分开,但是我无法找到关于如何执行此操作的清晰说明。非常感谢任何帮助。我正在使用Python的're'模块,尽管据我所知,正则表达式或多或少与语言无关。

1 个答案:

答案 0 :(得分:2)

您可以使用[<>]=?|==来匹配运算符,并使用\d+来匹配数字。将这些模式中的每一个括在capture group中,将使您可以访问匹配的值:

>>> 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()