如下格式的字符串:
【中文1【中文2】中文3 中文4【中文5】】 //符号为中文符号【和】
//嵌套层次为2
要获取的结果应该是:所有【】之间的内容
中文1|中文2|中文3 中文4|中文5
我觉得楼主的意思是嵌套的层数不限定为2层,那需要动态表达式才行######好吧 大概是这么个意思 不过最多就2层吧 也可能只有1层或者没有的说######
java.util.regex.Pattern pattern= Pattern.compile("【([\u4e00-\u9fa5|\w]+)【([\u4e00-\u9fa5|\w]+)】([\u4e00-\u9fa5|\w]+)\s([\u4e00-\u9fa5|\w]+)【([\u4e00-\u9fa5|\w]+)】】"); Matcher matcher = pattern.matcher("【中文1【中文2】中文3 中文4【中文5】】"); if(matcher.matches()){ for(int count=1;count<=matcher.groupCount();count++){ System.out.println(count+":"+matcher.group(count)); } }######手一抖 点选最佳答案选错了 不好意思 囧 @红薯 果断来个可撤销啊!######不过还是辛苦了哈:)######嗯结果大部分都对了 有一小点不符合哈 应该是“中文3 中文4”而不是“中文3” “中文4”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。