Regex 用什么正则表达式替换两个子字符串之间的换行符?

Regex 用什么正则表达式替换两个子字符串之间的换行符?,regex,Regex,使用哪个正则表达式替换两个字符串之间的文本(但文本也有换行符)?基本上,我如何替换所有出现的: "points": [ { "id": 1, "x": 15500, "y": 3900, "state": 1 } ] 为此: "points"

使用哪个正则表达式替换两个字符串之间的文本(但文本也有换行符)?基本上,我如何替换所有出现的:

            "points": [
              {
                "id": 1,
                "x": 15500,
                "y": 3900,
                "state": 1
              }
            ]
为此:

            "points": []

\[\s\s]*\]

$1

[\s\s]
查找空格和无空格字符。一些正则表达式引擎不能与
*
一起工作,因此您可以使用
[\s\s]
作为
的变通方法

/“点”:\[([^\]]*)\]/gm
将捕获组1中
点的内容,但这将很容易中断,除非您的所有输入与示例完全相同。例如,任何包含数组的内容都会使事情变得复杂:

"points": [
  {
    "id": 1,
    "x": 15500,
    "y": 3900,
    "states": [1,2,3]
   }
 ]
由于这是JSON,我强烈建议使用JSON库来处理这些数据,而不是试图用正则表达式将其作为纯文本处理。JSON与XML和HTML非常相似,它不是一种正则语言,因此在一般意义上无法成功地使用正则表达式对其进行操作(即使它可能适用于这种非常特殊的情况)


JSON是这项工作的合适工具

\[[\s\s]*\]
到$1为什么要尝试使用正则表达式修改json?请使用json解析器。