高分求正则表示式,高手帮忙啊 是否为金额所对应的内容补匹配你给的正则原因这段内容里有这一行“var regu = "^[0-9]+[\.][0-9]{0,3}$";”中包含[] 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 嗯,我是要将jstl_core.info文件中内容以 <[ 开始, 以 ]> 结束来分段截取,,(而且截取出来的内容需要和原文一致的缩进和回车)你上面那个不对吧? 这样匹配:Pattern p = Pattern.compile("(\\<\\[.*\\]>)",Pattern.DOTALL); Matcher m = p.matcher(sb.toString()); while (m.find()) { System.out.println(m.group(1)); } 是否为邮政编码:^\d{6}$是否为金额:^(?!<=[\.0])[1-9]+?[0-9]*\.\d{1,3}(?!=\.)$|^(?!<=[\.0])0\.\d{1,3}(?!=[\.|\d])$ import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new FileReader( "in.txt")); BufferedWriter bw = new BufferedWriter(new FileWriter("out.txt")); String temp = ""; StringBuffer sb = new StringBuffer(); while ((temp = br.readLine()) != null) { //System.out.println("每一个:" + temp); sb.append(temp + System.getProperty("line.separator")); } //System.out.println("全部读书来的效果:" + sb.toString()); //Pattern p = Pattern.compile("<\\[.*?\\]>"); //Pattern p = Pattern.compile("<\\[\\s*([^\\]\\>]*)\\s*\\]\\>"); //Pattern p = Pattern.compile("<\\[.[\\d\\D]*\\]>"); //Pattern p = Pattern.compile("\\<\\[([^\\[\\]]*)\\]\\>"); //ok // //这里写了两个,第一个不会去掉<[ 和]>两个符号,第二个会去掉 // Pattern p = Pattern.compile("\\<\\[.*?\\]\\>",Pattern.DOTALL); //ok Pattern p = Pattern.compile("(?<=\\<\\[).*?(?=\\]\\>)",Pattern.DOTALL); //ok Matcher m = p.matcher(sb.toString()); while (m.find()) { System.out.println("---> " + m.group()); bw.write(m.group().toString()); bw.newLine(); } bw.flush(); br.close(); bw.close(); }} 我在你这个System.out.println前加上 "--->" 发现只有一个返回,不是分组返回啊,,你试试啦 如何导出oracle数据库表中的insert语句 (在线等) 求救关于java swing的问题,为什么事件触发会不按套路出牌 网页上元素的关联 散分帖 struts学习中,一些配置文件的符号不懂。请问有什么好的书或者资料专门介绍 急救!!!! 更改tomcat默认主页问题 试了N次 但我还是失败了 请问JBOSS+tomcat怎样添加虚拟目录 100分求<<JAVA编程思想>>电子版 高分悬赏 js对象和jquery对象为啥要互相转换呢 一般什么时候转换呢 求助 关于cookie的问题 请高手帮忙 为什么要用junit进行测试
你上面那个不对吧?
Matcher m = p.matcher(sb.toString());
while (m.find()) {
System.out.println(m.group(1));
}
是否为金额:^(?!<=[\.0])[1-9]+?[0-9]*\.\d{1,3}(?!=\.)$|^(?!<=[\.0])0\.\d{1,3}(?!=[\.|\d])$
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class Test { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new FileReader(
"in.txt")); BufferedWriter bw = new BufferedWriter(new FileWriter("out.txt")); String temp = "";
StringBuffer sb = new StringBuffer(); while ((temp = br.readLine()) != null) {
//System.out.println("每一个:" + temp);
sb.append(temp + System.getProperty("line.separator"));
} //System.out.println("全部读书来的效果:" + sb.toString()); //Pattern p = Pattern.compile("<\\[.*?\\]>");
//Pattern p = Pattern.compile("<\\[\\s*([^\\]\\>]*)\\s*\\]\\>");
//Pattern p = Pattern.compile("<\\[.[\\d\\D]*\\]>");
//Pattern p = Pattern.compile("\\<\\[([^\\[\\]]*)\\]\\>"); //ok
//
//这里写了两个,第一个不会去掉<[ 和]>两个符号,第二个会去掉
// Pattern p = Pattern.compile("\\<\\[.*?\\]\\>",Pattern.DOTALL); //ok
Pattern p = Pattern.compile("(?<=\\<\\[).*?(?=\\]\\>)",Pattern.DOTALL); //ok Matcher m = p.matcher(sb.toString());
while (m.find()) {
System.out.println("---> " + m.group());
bw.write(m.group().toString());
bw.newLine();
} bw.flush();
br.close();
bw.close();
}
}