首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

取单引号内的子串的正则怎么写

2012-04-13 
取单引号内的子串的正则如何写?(com.nhncorp.lucy.db.sql.ManagedDataSource:677) executing ibatis state

取单引号内的子串的正则如何写?
(com.nhncorp.lucy.db.sql.ManagedDataSource:677) executing ibatis statement 'com.nhn.sapphire.cache.selectOnlyInfo'

我想把com.nhn.sapphire.cache.selectOnlyInfo取出来。

这样写居然不对。

\'((^[\'])+?)\'

[解决办法]
String exe = "(com.nhncorp.lucy.db.sql.ManagedDataSource:677) executing ibatis statement 'com.nhn.sapphire.cache.selectOnlyInfo'";
String reg = "(?<=')[^']*";

Matcher mer = Pattern.compile(reg).matcher(exe);
if (mer.find()) {
System.out.println(mer.group());
}

[解决办法]
当然了,也可以使用懒惰量词 *? 改成这样:

Java code
// String regex = "'([^']*)'";String regex = "'(.*?)'";Pattern pattern = Pattern.compile(regex);Matcher matcher = pattern.matcher(str);while (matcher.find()) {    System.out.println(matcher.group(1));} 

热点排行