python - 从文本python 3中提取特定模式
问题描述
我有一个看起来像这样的字符串,avg(foo)
我只想从中提取foo
。为此,我正在使用
import re
re.sub(")( avg","","avg(foo)")
但这不起作用。我哪里错了?
解决方案
首先我要离开你可能想为你的模式使用 r-strings,此外你需要稍微改变你的模式r"avg\((.*)\)"
就足够了。
import re
re.findall(r"avg\((.*)\)", "avg(foo)")
# Will return ['foo']
那么这里发生了什么?
我们使用re.findall来查找与模式匹配的所有匹配项。
该模式可以分解为:
avg\(
开头的东西avg(
(.*)
任何字符串的子组(可以修改以匹配更严格的模式)- 最后
\)
将匹配单个“)”。
推荐阅读
- javascript - 正则表达式将 URL 转换为字符串
- c++ - 如何编写可移植的 constexpr std::copysign()?
- python - 分享两个熊猫系列地块的X轴
- bash - 在 bashrc 中设置环境路径变量不在命令行测试
- javascript - 使用类似功能打开表单后addEventListener单击不起作用
- azure - Azure SWA:重定向到请求路由的修改版本?
- reactjs - CORS 策略错误 - 使用 Spring Boot + React 发现 api
- angular - 如何创建自定义 ngx formly 组件以支持多值自动完成组件
- python - 按最终项目分组列表,但保持顺序
- python - 如何通过多对多链接获取记录