python - 正则表达式:提取带有大括号包围的单词的字符串,如果它包含文本
问题描述
输入
我有一个这样的字符串:
string_ = "abc {def {ghi} { {jkl} {mno}} } \n abc { lmn {ghi} { {jkl} {mno}} }"
我需要使用 python 正则表达式提取花括号中的值,如果它包含字符串'def'。
输出
预期输出:
"{def {ghi} { {jkl} {mno} } }"
有人可以帮我吗?
解决方案
import re
pattern = re.compile(r'({def(?:.*)[{].*[}])')
string_ = "abc {def {ghi} { {jkl} {mno}} } \n abc { lmn {ghi} { {jkl} {mno}} }"
result = pattern.search(string_)
print(result.group(1))
推荐阅读
- java - Kotlin 中的 CompositeDisposable()
- python - 将当前元素与列表的前一个元素组合/合并
- mariadb - MySQL 服务器已经消失(MariaDB - 内存引擎)
- javascript - 解析器无法正常工作
- python - 如何使用 pyQt 5 webengine 和 python 脚本代码下载文件?
- node.js - 无法在“查询”类型上查询字段“存储库”
- apache-kafka - 如果生产者方确认延迟非常高,应监控哪些 Kafka 代理指标
- sql - 检查单调递增值的行
- reactjs - 从已经存在的 html 字符串渲染组件
- javascript - Jquery 错误:带有“this”的 r.getClientRects