Java正则表达式字符串匹配示例
一位以前的同事在群里面突然发了个需求,要通过正则表达式来取值。给我发过来一张图, 从图中可以出,需求是,通过下面的正则表达式,取出红色框所标示的内容 开始理解错误,我以为是要取出中间的那些内容,不包括"[标题BEGIN]"和“[标题END]”,于是写了下面的代码: private static void getStr(){ String str="[标题BEGIN]<#list>[@cms_chanel id=70]<li class=\"current\"></li>[/@cms_chanel]</#list>[标题END]"; Pattern p =Pattern.compile("\\[标题BEGIN\\](.*)\\[标题END\\]"); Matcher m =p.matcher(str); ArrayList<String> matches= new ArrayList<String>(); while(m.find()) { matches.add(m.group(1)); } for(String s: matches) { System.out.println("匹配结果:"+s); } } 回过头来一看需求,发现不对,于是再修改,主要是针对pattern进行修改 过程如下(按顺序); 1. Pattern p =Pattern.compile("(\\