我很抱歉不得不问这个问题,我怀疑这对于任何人来说都是非常简单的,即使是对正则表达式有点熟悉的人。我有一个始终采用以下形式的字符串:comparison_operator integer
:
例如'>2:'
或'<=0:'
。
我想将比较运算符和数字分开,但我无法找到如何执行此操作的明确解释。非常感谢任何帮助。我正在使用 Python 的 're' 模块,尽管据我了解,正则表达式或多或少与语言无关。
最佳答案
您可以使用[<>]=?|==
匹配运算符,和 \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()
关于python - 比较运算符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52620953/