代码中的Regular expression存在问题,求提取指定文本的正则解决方案
提取指定硬件宏信息的正则解决方案
直接给你能运行的代码和修正逻辑:
可运行代码示例(Python)
import re # 读取design.txt内容 with open('design.txt', 'r') as f: content = f.read() # 匹配目标段落的正则 pattern = r'^Hard Macros:\nModel Information\nModel width, height: [\d.]+ mm x [\d.]+ mm = [\d.]+ mm2\nAspect ratio \(w/h\): [\d.]+\nBuckets: \d+ x \d+ = \d+\nTotal utilization: [\d.]+ %$' match = re.search(pattern, content, re.MULTILINE) # 输出提取结果 if match: print(match.group())
原正则失效的常见原因
- 未转义特殊字符:
(w/h)中的括号是正则分组符号,需转义为\(w/h\)才能匹配原文本 - 缺少多行匹配模式:添加
re.MULTILINE让^能匹配每行的开头位置 - 匹配规则与文本格式不匹配:比如未严格对应换行符、空格等细节
注:如果你的
design.txt中目标段落前后有其他内容,可将正则调整为非锚定模式,去掉开头的^即可。
内容的提问来源于stack exchange,提问作者Zero
相关产品推荐
相关产品推荐

