大家好我想从下面给出的文字中找出一个简单的regEx:
<b>Name:</b> Photomatix.Pro.v4.0.64bit-FOSI<br />
我基本上只想输出和存储 Photomatix.Pro.v4.0.64bit-FOSI ,即 中的实际值,但是当我像这样定义它时:
private static final String REG_NAME = "<b>Name:</b>(.*)<br />";
它实际上存储并输出整个<b>Name:</b> Photomatix.Pro.v4.0.64bit-FOSI<br />
关于如何从上面的xml文本中提取值的任何想法?提前欢呼
答案 0 :(得分:6)
这应该有效:
final String REG_NAME = "<b>Name:</b>(.*)<br />";
String text = "<b>Name:</b> Photomatix.Pro.v4.0.64bit-FOSI<br />";
Pattern pattern = Pattern.compile(REG_NAME);
Matcher matcher = pattern.matcher(text);
if (matcher.find()) {
System.out.println(matcher.group(1));
}
答案 1 :(得分:1)
String r = "/b>(.*)<b";
Pattern p = Pattern.compile( r );
Matcher m = p.matcher( "<b>Name:</b> Photomatix.Pro.v4.0.64bit-FOSI<br />" );
if ( m.find() )
{
System.out.println( "found: " + m.group(1) );
}
答案 2 :(得分:0)
(我现在手头没有Java编译器所以我无法验证答案。因此,这不是最终答案,但是......)
如果你真的想用正则表达式来做,你应该看看Java正则表达式类中的匹配器和组。
答案 3 :(得分:0)
好吧,我不认为用正则表达式解析html是个好主意,你应该使用一些html java解析器。如果你想使用正则表达式,你可以在这里查看一些例子:Regular Expressions