java正则表达式练习-涉及分组group()
这个程序 一开始贴上回复的时候 忘记关了数据流 教训教训。
通过这个程序 复习了一下正则表达式 对分组又有了进一步的了解 ^_^。
文章图片
文章图片
/**/
/*
文章图片
input1.txt文件文件内容如下:
文章图片
1 book at 12.49
文章图片
1 music CD at 14.99
文章图片
1 chocolate bar at 0.85
文章图片
文章图片
我现在要做的是:
文章图片
读取文件的每一行,然后将每一行的开始数字、name、at之后的数字取出来
文章图片
例:
文章图片
读取行 1 music CD at 14.99
文章图片
结果为 ID = 1;
name = music CD;
price = 14.99;
文章图片
我对正则表达式一点也不懂,有详细代码最好!
文章图片
望各位指点!(急)
文章图片
文章图片
* */
文章图片
文章图片
文章图片
文章图片
package
test1;
文章图片
import
java.util.regex.
*
;
文章图片
import
java.io.
*
;
文章图片
文章图片
文章图片
public class
Test2
文章图片
文章图片
...
{
文章图片
文章图片
文章图片
/** *//**
文章图片
* @param args
文章图片
*/
文章图片
public static void main(String[] args)
文章图片
文章图片
...{
文章图片
String regex="(/d+)/s(.*?)at/s([0-9/.])+";
文章图片
//String regex="(/d+) (.*?) at ([0-9/.])+";
文章图片
Pattern pt=Pattern.compile(regex);
文章图片
文章图片
//读取文件数据
文章图片
try
文章图片
文章图片
...{
文章图片
FileInputStream fis=new FileInputStream("test.txt");
文章图片
InputStreamReader isr=new InputStreamReader(fis);
文章图片
BufferedReader br=new BufferedReader(isr);
文章图片
文章图片
String s;
文章图片
while((s=br.readLine())!=null)
文章图片
文章图片
...{
文章图片
Matcher mt=pt.matcher(s);
文章图片
while(mt.find())
文章图片
文章图片
...{
文章图片
文章图片
文章图片
文章图片
System.out.println("ID="+mt.group(1));
文章图片
System.out.println("Name="+mt.group(2));
文章图片
System.out.println("Price="+mt.group(3));
文章图片
System.out.println();
文章图片
文章图片
}
文章图片
}
文章图片
文章图片
br.close();
文章图片
isr.close();
文章图片
fis.close();
文章图片
文章图片
文章图片
}
文章图片
catch(FileNotFoundException e)
文章图片
文章图片
...{
文章图片
e.printStackTrace();
文章图片
}
文章图片
catch(Exception e)
文章图片
文章图片
...{
文章图片
e.printStackTrace();
文章图片
}
文章图片
}
文章图片
文章图片
}
文章图片
【java正则表达式练习-涉及分组group()】
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- Java|Java基础——数组
- RxJava|RxJava 在Android项目中的使用(一)
- java之static、static|java之static、static final、final的区别与应用