【发布时间】:2019-08-19 23:45:23
【问题描述】:
我需要根据正则表达式从任何字符串中识别子字符串。
例如,取以下字符串:
- 发出发货通知:UserName1
- 发货通知:未找到用户,UserName2
- 发出收货通知:UserName1
- 发出收货通知:未找到用户,UserName2
我想得到冒号后的文字
- 用户名1
- 找不到用户,UserName2
- 用户名1
- 找不到用户,UserName2
【问题讨论】:
标签: regex
我需要根据正则表达式从任何字符串中识别子字符串。
例如,取以下字符串:
我想得到冒号后的文字
【问题讨论】:
标签: regex
您可以像这样使用正则表达式:
":(.*)"
那么,你应该使用类似这样的东西(在 Java 上):
Matcher m = Pattern.compile(":(.*)").matcher(text);
if (m.find())
{
System.out.println(m.group(1));
}
【讨论】:
我想这就是你要找的东西:
(?<=:).*
【讨论】:
import java.util.regex.Matcher; import java.util.regex.Pattern;
public class MatchColon {
private Pattern pattern;
private Matcher matcher;
private static final String MATCHCOLON_PATTERN =
":(.*)";
public MATCHCOLON(){
pattern = Pattern.compile(MATCHCOLON_PATTERN);
}
public boolean validate(final String colon){
matcher = pattern.matcher(colon);
return matcher.matches();
}
}
【讨论】: