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

如何用单行正则表达式完成指定文本到目标格式的转换?

问题描述

原始输入文本:

abc/09dce097-34e1-4af3-ab97-9eccd1163615.json
"1010101010"
abc/29ef1c15-f2b3-4b4c-9a34-7de982abfb22.json
"1010101010"
abc/50dff7db-1bd6-48fa-b608-9e1b70a92bea.json
"1010101010"
abc/6092d7ee-0349-40b0-8342-4ccfe63d0297.json
"1010101010"
abc/64701479-62c2-4930-b85d-70c610790cc1.json
"1010101010"
abc/6d165c85-1499-4d36-bb4f-63d67a9503b6.json
"1010101010"
abc/7ab224e7-3be3-4394-8e51-7b9eb85617b8.json
"1010101010"
abc/8335bd20-bf16-44d0-b1f7-c898ea81749a.json
"1010101010"
abc/df125f62-6183-4117-a6f6-0119d2777a59.json
"1010101010"
abc/e91aa1b1-0bd6-4316-b03a-dd4326a82149.json
"1010101010"
abc/ff33010e-d20f-4c44-b560-6e5e40fbb3ad.json
"1010101010"

期望输出格式:

'1010101010','1010101010','1010101010','1010101010','1010101010','1010101010','1010101010','1010101010','1010101010','1010101010','1010101010'

当前使用正则 \n?.*.json\n 替换为逗号后,结果存在开头多余逗号、引号未替换的问题,需要手动修正,希望找到能直接完成需求的单行正则表达式。

解决方案

可以采用两步正则替换实现,或者用支持多捕获组的正则工具一步完成:

方案一:两步替换

  1. 第一步匹配与替换

    • 匹配正则:
      ^\s*.+\.json\s*|\s*"([^"]+)"\s*
      
    • 替换字符串:
      (?1:'$1',)
      

    这一步会把所有.json行删除,同时将双引号包裹的数字替换为单引号加逗号的格式。

  2. 第二步清理末尾逗号

    • 匹配正则:
      ,$
      
    • 替换字符串:空
      这一步删除结果末尾多余的逗号。

方案二:一步替换(支持多捕获组的工具)

  • 匹配正则:
    ^\s*.+\.json\s*|\s*"([^"]+)"\s*(?!$)|\s*"([^"]+)"\s*$
    
  • 替换字符串:
    (?1:'$1',)(?2:'$2')
    
    该正则通过捕获组区分非末尾和末尾的数字串,分别替换为带逗号和不带逗号的格式,直接得到最终结果。

原理说明

  • ^\s*.+\.json\s*:精准匹配所有包含.json的行(含前后空白),替换时直接忽略这些内容。
  • \s*"([^"]+)"\s*:捕获双引号内的数字内容,后续替换为单引号包裹的格式。
  • 捕获组条件判断 (?1:'$1',) 确保只有捕获到数字时才生成对应格式,避免出现多余符号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 03:53:18