对于不得不问这个问题,我深表歉意,我怀疑对于熟悉regexes的人来说,这很简单。我有一个始终为以下形式的字符串:comparison_operator integer
:
例如'>2:'
或'<=0:'
。
我只想将比较运算符和数字分开,但是我无法找到关于如何执行此操作的清晰说明。非常感谢任何帮助。我正在使用Python的're'模块,尽管据我所知,正则表达式或多或少与语言无关。
答案 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()