正则表达式查找方括号之间的所有引号

时间:2020-04-28 00:18:18

标签: java regex

似乎很简单,但是我找不到任何有效的方法。只是想捕获方括号之间的所有双引号,所以我可以将它们替换为空字符串。方括号之间的值始终在[0-9]之间。

感谢您的帮助。

输入

    "someText"=["1111","2222"]

输出

    "someText"=[1111,2222]

2 个答案:

答案 0 :(得分:1)

正则表达式是当输入为正则时起作用的工具。这是专门的术语,具有非常特殊的含义。

因此,如果您输入的是 not regular ,则正则表达式无法对此进行解析。这种格式看起来像JSON。这是个坏消息:JSON不是常规的:(您只是无法使用正则表达式进行解析。您给我写了一个看起来有效的regexp,我将为您提供一些有效的JSON,您的regexp替换器会把它弄乱。< / p>

您可以通过对可在复杂的正则表达式中输入JSON的内容添加奇异的警告来解决此问题,但是将JSON解析器添加到代码中并使用它似乎是一个更好的主意。

答案 1 :(得分:0)

在我的情况下,数组元素将始终是仅用引号引起来的整数。引号之间不会有特殊字符,只有[0-9]。

由于没有嵌套的括号,因此可以先行对不带中间括号的闭括号报价:

    public static void main(String[] args)
    {
        System.out.println(args[0].replaceAll("\"(?=[^\\[]*])", ""));
    }

相关问题