gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 09:41:35 25 4
gpt4 key购买 nike

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

"<Random text>[Text1;Text2;....;TextN]<Random text>"

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

"<Random text>[Text1,Text2,...,TextN]<Random text>"

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

re.compile(r'\[".*?((;).*?){1,4}"\]')

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

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

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

最佳答案

试试这个正则表达式:

;(?=(?:(?!\[).)*])

,

替换每个匹配项

Click for Demo

说明:

  • ; - 匹配 ;
  • (?=(?:(?!\[).)*]) - 确保上面的 ; 后跟一个结束 ] 在字符串后面的某个位置,但在任何左括号 [ 之前
    • (?=....) - 正向预测
    • (?:(?!\[).)* - 0+ 次出现不以 [
    • 开头的任何字符
    • ] - 匹配 ]

关于Python,RegEx,替换匹配的某个部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59837560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com