我想匹配下面这两段文字中的信息:
1、原文:<title>【索尼爱立信MT15i】索尼爱立信(Sony Ericsson)MT15i 3G手机(蓝色)WCDMA/GSM 【行情 报价 价格 评测】</title>
这个要配出“索尼爱立信(Sony Ericsson)MT15i 3G手机(蓝色)WCDMA/GSM”
我在Regex Tester中用 (?<=】).+(?=【行情 报价 价格 评测】</title>)都能配出来
但是在Java中, (?<=】)\\.+(?=【行情 报价 价格 评测】</title>)这样配不出来。2、原文:我在@京东商城 发现了一个非常不错的商品:索尼爱立信(Sony Ericsson)MT15i 3G手机(蓝色)WCDMA/GSM,京东价:¥2299.00。感觉不错,分享一下"
这个我在Regex Tester中用(?<=京东价:).+(?=。)可以配出来,在java中即使添加了\\也是配不出来,这是为什么?劳烦帮个忙,较急!
1、原文:<title>【索尼爱立信MT15i】索尼爱立信(Sony Ericsson)MT15i 3G手机(蓝色)WCDMA/GSM 【行情 报价 价格 评测】</title>
这个要配出“索尼爱立信(Sony Ericsson)MT15i 3G手机(蓝色)WCDMA/GSM”
我在Regex Tester中用 (?<=】).+(?=【行情 报价 价格 评测】</title>)都能配出来
但是在Java中, (?<=】)\\.+(?=【行情 报价 价格 评测】</title>)这样配不出来。2、原文:我在@京东商城 发现了一个非常不错的商品:索尼爱立信(Sony Ericsson)MT15i 3G手机(蓝色)WCDMA/GSM,京东价:¥2299.00。感觉不错,分享一下"
这个我在Regex Tester中用(?<=京东价:).+(?=。)可以配出来,在java中即使添加了\\也是配不出来,这是为什么?劳烦帮个忙,较急!
解决方案 »
- 求助用Base64解决中文乱码问题
- AOP切不了
- Java nio实现socket通信遇到的问题
- 表单提交时可以不用ActionForm吗?
- windows server 2003+tomcat 6问题
- 征求计费管理系统
- hibernate到底是干什么的?
- [200分]一(userinfo)对多(zhaohao)关系的cmp中,为什么在调用zhaohao这个cmp中的create(int zhid,int uid)建立新实例时老是报错错误
- 请问Java Socket如何清空接收缓冲区的内容
- xfire报错,各位大神帮忙看下,挺头痛的问题
- linux数据库备份命令报个异常 来看下
- 问一个mvn test的问题
这个不行,去掉程序就报错啦~在java中正则表达式是个字符串,去掉\\就会把.视为普通的小点了
不过找到解决办法了,但是为什么这么做还不是很明白,谢谢你!String str = "<title>【索尼爱立信MT15i】索尼爱立信(Sony Ericsson)MT15i 3G手机(蓝色)WCDMA/GSM 【行情 报价 价格 评测】</title>";
String eg = "(?<=】)(.+)(?=【行情 报价 价格 评测】</title>)";
Matcher m = Pattern.compile(eg, Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE).matcher(str);
while (m.find()) {
System.out.println(m.group(1));
}