python - Python正则表达式查找3个数字的序列,后跟特定的字符串
问题描述
我有一个正则表达式模式,它匹配由单个逗号和空格分隔的三个数字,但我现在希望该模式在这些数字之后找到“MHz”或“GHz”。
我尝试了一些模式,但没有一个有效
failed_patterns = [r'(\d+\, \d+\, \d+\s*Hz)',
r'(\d+\, \d+\, \d+\s*Hz)',
r'(\d+\, \d+\, \d+*Hz)']
# basic pattern
pattern = r'(\d+\, \d+\, \d+)'
string = '915, 868, 433 MHz'
re.findall(pattern, string)
# output: ['915, 868, 433']
正则表达式对我来说仍然很新,所以如果有人能让我知道我哪里出错了,以及如何改变我的模式以获得我需要的结果,我将不胜感激
解决方案
此模式适用于您的测试示例:r'(\d{0,3}, \d{0,3}, \d{0,3} [MG]Hz)'
推荐阅读
- sharepoint-online - 从复制链接获取项目
- salesforce - Salesforce 重试第 3 方 REST API
- c++ - 将数字相乘
- r - 如何将 R 中统计测试的结果添加到我现有的数据框中?
- youtube-api - Youtube api v3 每日限制超出
- r - 在进行 PCA(主成分分析)时,数据必须有多“相似/兼容”?
- c# - 使用 VS Code 手动设置 .NET Framework 项目
- r - 使用ggplot2覆盖密度图的一般规则
- ios - iOS:如何从包含字符串和图像的数据中获取特定字符串?
- sql - 从 MS SQL 2012 odbc 连接读取表时描述符索引无效