regex 使用正则表达式删除括号中的一些字符

jfewjypa  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(146)

下面的模式在我的 .csv 文件中重复了多次:
\"validForCountries\":\"[\"BE\", \"DE\", \"XX\"]\"
我想把它换成
\"validForCountries\":\"[BE, DE, XX]\"
这意味着我想删除方括号/数组中所有\"出现**。数组中的项数可能不同。我尝试分组,但我只得到了数组中的一个项的匹配项。到目前为止我的方法:\\"\[(([A-Z]*)[,\s\\"]*)*?\]\\"
我正在使用VSCode替换工具,所以我只需要一个替换正则表达式。

w6lpcovy

w6lpcovy1#

若要在单个文件中搜索和替换,可以使用

(?<=\\":\\"\[[^\]\[]*)\\"(?=[^\]\[]*])

参见regex demo

  • 详情 *:
  • (?<=\\":\\"\[[^\]\[]*)-一个正向后查找,它匹配紧接在\":\"[前面的位置,然后是除[]之外的任何零个或多个字符
  • \\"-一个\"子字符串
  • (?=[^\]\[]*])-一个积极的前瞻,确保有零个或多个字符以外的][,然后一个]字符紧接在当前位置的右边。

相关问题