You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python的re模块拆分保留括号的字符串并去除空格?

使用Python re模块拆分C风格变量声明字符串

可以通过构造合适的正则表达式,结合re.findall()方法实现需求。核心思路是匹配所有需要保留的单元:标识符/整数、浮点数、单个特殊符号,同时自动忽略空格。

实现代码

import re

# 目标字符串
declaration = "double a[3] = {0.0, 0.0, 0.0};"
# 正则匹配规则
pattern = r'\w+|\d+\.\d+|[^\s\w]'
# 执行匹配
split_result = re.findall(pattern, declaration)

print(split_result)
# 输出:['double', 'a', '[', '3', ']', '=', '{', '0.0', ',', '0.0', ',', '0.0', '}', ';']

正则规则说明

  • \w+:匹配一个或多个字母、数字、下划线,对应double、a、3这类连续的标识符/整数
  • \d+\.\d+:匹配带小数点的浮点数(如0.0),确保这类数值不会被拆分成数字和小数点两个部分
  • [^\s\w]:匹配单个非空白、非字母数字下划线的字符,对应[、]、=、{、}、;、,这些符号

re.findall()会按正则分支的优先级依次匹配,自动跳过空格(因为空格不在任何匹配分支中),最终返回所有匹配到的单元组成的列表。

内容的提问来源于stack exchange,提问作者kstn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 08:50:21