小编pyt*_*432的帖子

Python,RegEx,替换匹配的某个部分

我正在尝试替换正则表达式找到的匹配项的某个部分。相关字符串具有以下格式:

"<Random text>[Text1;Text2;....;TextN]<Random text>"
Run Code Online (Sandbox Code Playgroud)

所以基本上可以有 N 个用“;”分隔的文本 括号内。我的目标是改变“;” 变成“,”(但仅适用于这种格式的字符串),以便我可以保留“;” 作为 CSV 文件的分隔符。所以结果应该是:

"<Random text>[Text1,Text2,...,TextN]<Random text>"
Run Code Online (Sandbox Code Playgroud)

我可以用类似的东西匹配相关的字符串

re.compile(r'\[".*?((;).*?){1,4}"\]')
Run Code Online (Sandbox Code Playgroud)

但是如果我尝试使用 sub 方法,它会替换整个字符串。

我已经搜索过 stackoverflow,我很确定“捕获组”可能是解决方案,但我并没有真正到达那里。谁能帮我?

我只想改变“;” 在我的文本文件的 ["Text1;...;TextN"] 部分。

python regex

3
推荐指数
1
解决办法
96
查看次数

标签 统计

python ×1

regex ×1