【发布时间】:2017-06-20 17:32:50
【问题描述】:
我正在尝试使用正则表达式将给定字符串中的所有不同类型的括号(即(, {, and [)放入一个数组中,但我不知道该怎么做。
这是我当前的代码:
String s = "{[()]}";
String regexStr = "\\( | \\) | \\[ | \\] | \\{ | \\}";
Pattern p = Pattern.compile(regexStr);
String[] splitStr = p.split(s);
当我打印数组时,只有一个元素是原始字符串:"{[()]}"。我不确定我的 regexStr 是否正确,我在 OR 旁边添加了空格,因为当我没有留下空格时,数组中没有添加任何内容。
regexStr 在我没有空格时使用的在线 Java 正则表达式检查器中有效,但在我的代码中似乎无效。
【问题讨论】:
-
你能展示一些示例输出吗?
-
您不能为此使用
split。调用split的模式是边界,实际上将从拆分结果中删除。我会选择下面@brso05 的答案 -
@jingx 其实你只需要进行一些操作就可以查看我上面的答案:)