PyCharm 的替换功能小技巧---使用正则替换

比如在写爬虫中的header的参数时,我们从抓包软件中复制过来,一个参数一个参数的去加引号和逗号比较麻烦,比如:

这是原来的参数:

Accept-Encoding: gzip, deflate, br
Accept-Language": zh-CN,zh;q=0.9

这是添加引号和逗号后变成合规的参数:

"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "zh-CN,zh;q=0.9"

使用替换中的正则就变得简单多了,如下:

替换步骤:

  1. 打开替换对话框Ctrl + R

  2. 设置替换规则

    • 查找内容^(\s*)(\S+?):\s*(.+)

    • 替换为$1'$2': '$3',

    • 勾选 Regex (正则表达式) 选项,我的版本是选中后面的".*"

    • 替换前鼠标只选中要替换的代码

正则表达式说明:

查找模式^(\s*)(\S+?):\s*(.+)

  • ^ - 行首

  • (\s*) - 匹配任意空白字符(缩进),捕获为第1组

  • (\S+?) - 匹配非空白字符(头部字段名),捕获为第2组

  • : - 匹配冒号

  • \s* - 匹配冒号后的空白字符

  • (.+) - 匹配剩余的所有内容(值),捕获为第3组

替换模式$1'$2': '$3',

  • $1 - 保留原来的缩进

  • '$2' - 给头部字段名加上单引号

  • : - 保留冒号和空格

  • '$3' - 给值加上单引号

  • , - 在行尾添加逗号

替换前后的效果:

替换前

python

Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9

替换后

python

'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Dest': 'empty',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'zh-CN,zh;q=0.9',

注意事项:

  1. 确保勾选了 Regex 选项

  2. 如果某些行已经有单引号了,这个替换会覆盖原有的引号

  3. 建议先点击 Find 查看匹配结果是否正确

  4. 最后一行可能不需要逗号,你可以手动删除最后一个逗号

这样就能批量将 headers 转换为 Python 字典的标准格式了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一路生花工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值