我有一个 JSON 字符串,它是:
{"dependencies":["xz","pkg-config","glib","gobject-introspection"],"conflicts_with":[],"caveats":null,"options":[{"option":"--universal","description":"Build a universal binary"}]}
然后我写了一个正则表达式来找到“dependencies”后面的数组:
(?<=\"dependencies\":).*[^:](?=,)
在 Java 中:
"(?<=\\\"dependencies\\\":).*[^:](?=,)"
然而结果却是:
["xz","pkg-config","glib","gobject-introspection"],"conflicts_with":[],"caveats":null,"options":[{"option":"--universal"
并且只排除了最后一个冒号。
请帮帮我。
最佳答案
我建议使用这个正则表达式:
(?<=\"dependencies\":).[^:]*(?=,)
或者,几乎相等:
(?<=\"dependencies\":)[^:]+(?=,)
关于java - 正则表达式否定冒号不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29513945/