似乎很简单,但是我找不到任何有效的方法。只是想捕获方括号之间的所有双引号,所以我可以将它们替换为空字符串。方括号之间的值始终在[0-9]之间。
感谢您的帮助。
输入
"someText"=["1111","2222"]
输出
"someText"=[1111,2222]
答案 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("\"(?=[^\\[]*])", ""));
}