我的字符串是这样的:
str1="<accountName>THOMAS M PINCHBECK</accountName>";
我正在尝试使用正则表达式来获取名称:THOMAS M PINCHBECK
我尝试的是:
str2= str1.matches("<accountName>"+"(.*)"+"</accountName>");
但这没有成功。任何帮助,将不胜感激..!!
返回的matches(...)
方法,不是。你可以像这样修复它:String
boolean
String
String str = "<accountName>THOMAS M PINCHBECK</accountName>"+
"<accountName>Hello world</accountName>"+
"<accountName>Quick brown fox</accountName>";
Pattern p = Pattern.compile("<accountName>([^&]*)</accountName>");
Matcher m = p.matcher(str);
while (m.find()) {
System.out.println(m.group(1));
}
使用String#replaceFirst
:
String str = "<accountName>THOMAS M PINCHBECK</accountName>";
String repl = str.replaceFirst("^<accountName>([^&]+).*$", "$1");
//=> THOMAS M PINCHBECK
考虑以下正则表达式...
(?<=>).*?(?=<)