python - 有没有一种优雅的方法可以从 Python 中的给定正则表达式模式构建字符串?
问题描述
假设我有一个这样定义的模式:
import re
pattern = re.compile(r'http\://(?P<host>\d+\.\d+\.\d+\.\d+)\:(?P<port>\d+)')
此模式帮助我解析要提取的字符串host
和port
参数。但是如果需要一个反向操作:使用这个模式host
和port
值构建一个字符串呢?有没有一种优雅的方式来做到这一点?或者我必须为此目的定义一个单独的字符串模式来格式化?
import re
pattern = re.compile(r'http\://(?P<host>\d+\.\d+\.\d+\.\d+)\:(?P<port>\d+)')
values = {'host': '192.168.1.5', 'port': 80}
s = some_elegant_function(pattern, values) # <--- What is here???
print(s) # http://192.168.1.5:80 - expected result
我看过这个问题:Generate a String that match a RegEx in Python
它没有提供答案,因为主题是关于一组相关的输出字符串,而没有传递我需要的任何参数。
解决方案
推荐阅读
- php - 如何在php中实现多维数组展平?
- amazon-web-services - 如何在一个 AWS 区域中定义安全组,以便只有另一个区域中的 VM 可以访问它
- java - 服务生成消息时的 Kafka 自动化 Java
- visual-studio-code - 如何使集成终端选项卡显示主机名?
- amazon-web-services - AWS S3 或 Cloudfront 访问被拒绝 ::: 如果在包含路径的 url 的浏览器上刷新(即 domain.com/subdirectoryname)
- javascript - 使用ajax将变量从Jquery传递到php
- javascript - 打开副本时关闭上一个选项卡
- reactjs - 单击时更改组件的样式 - 反应钩子状态
- swift - 用于身份验证的 Firebase 动态链接
- python - 如何通过单击同一行上的 URL 将所有内容从特定行传输到另一个页面?