需要一个正则表达式来消除\ r \ n,但保持值不变。在记事本++中

时间:2015-01-04 12:03:41

标签: regex notepad++

我需要一个重新格式化的正则表达式,例如

[
    0,
    38,
    255,
    255
          ],

[0, 38, 255,255],但是保留所有值,而不会打扰任何其他带有r \ n \序列的代码。是否有可能,如果是的话,我可以得到一些帮助吗?下面是一些示例代码。我已经正确地格式化了[0,0,0,0],但是当每次值不同时,制作正则表达式要困难得多。我的代码示例如下,是整个代码的一小部分。

      "value": [
0,
38,
255,
255
      ],
      "comment": "bright blue, entrance coupler",
      "connector": true,
      "connector-value": [0, 0, 0, 0]
    },
    {
      "value": [
0,
255,
186,
255
      ],
      "comment": "bright aqua, water coupler",
      "connector": true,
      "connector-value": [0, 0, 0, 0]
    },
    {
      "value": [
32,
32,
32,
255

4 个答案:

答案 0 :(得分:0)

如果你总是有四个值,你可以这样做:

找到:\[\s+(\d+),\s+(\d+),\s+(\d+),\s+(\d+)\s+\]
替换为:[$1,$2,$3,$4]

答案 1 :(得分:0)

试试这个表达式:

(?s)\r?\n\s*(?=(?:(?!\}|\{|\]|\[).)*+(?:\]|$))

并替换为空(或如果您希望元素间隔开来,则为空格)

确保。匹配换行复选框已打开(但表达式开头的(?s)应该强制执行)。

使用您的代码段,此表达式返回:

  "value": [0,38,255,255],
  "comment": "bright blue, entrance coupler",
  "connector": true,
  "connector-value": [0, 0, 0, 0]
},
{
  "value": [0,255,186,255],
  "comment": "bright aqua, water coupler",
  "connector": true,
  "connector-value": [0, 0, 0, 0]
},
{
  "value": [32,32,32,255

答案 2 :(得分:0)

这应该这样做:

 ([ \t]+)?(.*)?[\r\n]+

在Notepad ++中替换为$2

答案 3 :(得分:0)

\s(?=[^\[]*\])

试试这个。empty string。见。演示。

https://regex101.com/r/wZ0iA3/3