【发布时间】:2010-11-01 00:59:48
【问题描述】:
[已编辑 - 真的很抱歉,我引用的代码是错误的 - 已更改以下消息以反映这一点。道歉!感谢您的耐心等待。]
我是正则表达式的新手,想在 Java 中匹配一个模式(接着这个解决方案 - Java string - get everything between (but not including) two regular expressions?)。
字符串是[EDITED]:
<row><column name='_id'>1</column></row><row><column name='text'>Header\n\n\ntext</column></row><row><column name='pwd'>password</column></row>
我只想返回 column name='text' 标签之间的内容,所以:
Header\n\n\ntext
我有 [EDITED] 下面的代码,但它不匹配。关于我需要如何更改模式的任何想法?
谢谢!
package test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Regex {
public static void main(String[] args) {
Pattern p = Pattern.compile(
"<row><column name='text'>(.*)</column></row>",
Pattern.DOTALL
);
Matcher matcher = p.matcher(
"<row><column name='_id'>1</column></row><row><column name='text'>Header\n\n\ntext</column></row><row><column name='pwd'>password</column></row>"
);
if(matcher.matches()){
System.out.println(matcher.group(1));
}
}
}
【问题讨论】: