python - 比较运算符的正则表达式
问题描述
我很抱歉不得不问这个问题,我怀疑对于任何对正则表达式稍微熟悉的人来说,这都是微不足道的。我有一个始终采用以下形式的字符串comparison_operator integer
:
例如'>2:'
或'<=0:'
。
我只想将比较运算符和数字分开,但我一直无法找到有关如何执行此操作的明确解释。感激地收到任何帮助。我正在使用 Python 的“re”模块,尽管据我了解,正则表达式或多或少与语言无关。
解决方案
您可以使用[<>]=?|==
匹配运算符,并\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()
推荐阅读
- php - Symfony SQLSTATE [42S22]:找不到列
- php - PhpStorm PSR-12 代码样式为数组添加了额外的 21 个空格
- html - 如何对齐脚本中没有父级的图像?
- vespa - 当我使用 documentAPI 放置一个文档时,vespa 返回错误
- wordpress - WordPress 根据用户角色在首页隐藏帖子
- c# - C# SQLite 连接关闭
- delphi - Delphi 中的“引用”到底做了什么?
- java - 使用 Selenium Java 从网页中获取状态码
- c# - EF Core 批量插入错误,可空双精度
- javascript - 为什么 fetch 返回空 opj 到 server.js 文件