根据关键字查询符合条件第一句内容。以下正则根据需求对应修改。
public static String extractFirstSentence(String text, String keyword) {
// 构建正则表达式,匹配以句号、问号、或感叹号结束的句子
System.out.println(Pattern.quote(keyword));
String sentencePattern = "(?:。|\\s|\\u3000)([^。|\\s|\\u3000]*"+Pattern.quote(keyword)+"[^。]*。{0,1})";
// 编译正则表达式
Pattern pattern = Pattern.compile(sentencePattern, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(text);
if (matcher.find()) {
// 如果找到匹配的句子,返回匹配的内容
return matcher.group(1);
} else {
// 如果没有匹配的内容,返回空字符串或其他适当的值
return "";
}
}
查询文章以句号结尾的第一句话。
public static void main(String[] args) {
String text = "这是第一句话。这是第二句话。这是第三句话。";
// 定义正则表达式,查找以句号结尾的句子
String regex = ".*?\\。";
// 创建Pattern对象
Pattern pattern = Pattern.compile(regex);
// 创建Matcher对象
Matcher matcher = pattern.matcher(text);
// 查找第一句话
if (matcher.find()) {
String firstSentence = matcher.group();
System.out.println("第一句话:" + firstSentence);
}
}