日期:2014-05-17  浏览次数:20861 次

求大神帮忙写一个正则表达式
我有这样一段html代码:
<p>
一、hibernate4的一些变化
</p>
<p>
hibernate升级得太快了,前段时间在社区瞄了一下,居然已经有4.2.x的发布版本。但hibernate4和spring3的整合有点麻烦,首先是sessionfactory的创建,在3的版本中是这样创建的:
</p>
<p>
<pre class="prettyprint lang-java">
Configuration cfg = new Configuration().configure();
cfg.buildSessionFactory();</pre>
<p>
但这样方式在hibernate4中已经被禁用了,在4的版本中变成这样:
</p>
我想抓取<pre class="prettyprint lang-java"></pre>中的内容,正则表达式应该怎么写,而
<pre class="prettyprint lang-java">里面的不一定是lang-java,还可能是lang-ruby或者其他,求大神支招

------解决方案--------------------
		Pattern pattern = Pattern.compile("<.+?>");
Matcher matcher = pattern.matcher("<pre class='prettyprint lang-java'>aaaa</pre>");
String str = matcher.replaceAll("");
System.out.println(str);

------解决方案--------------------
String regex = "<pre class=\"prettyprint lang-.*?\">(.*?)</pre>";
String input = "<pre class=\"prettyprint lang-java\">Configuration cfg = new Configuration().configure();cfg.buildSessionFactory();</pre>";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(input);

while (m.find()) {
System.out.println(m.group(1));
}