gpt4 book ai didi

java - 在Java中使用正则表达式在给定段落中查找 'wh'句子

转载 作者:行者123 更新时间:2023-12-01 18:55:22 25 4
gpt4 key购买 nike

你叫什么名字?你好吗?我在路上。你在哪里?你饿了吗?我喜欢你。

在上面的段落中,答案应该选择所有 wh 问题,例如“你叫什么名字?你在哪里?”

如何在java中使用正则表达式实现上述功能?

最佳答案

好的,我测试了这段代码,所以它现在应该可以工作了。它会查找我能想到的英语中的所有 Wh 单词,而不是尝试在单词中查找 Wh 本身。

String text = "What is your name? How do you do? I am in way. Where are you? Are you hungry? I like you. What about questions that contain a comma, like this one? Do you like my name, Whitney Houston? What is going to happen now, is you are going to do what I say. Is that clear? What's all this then?";

Pattern p = Pattern.compile("(?:Who|What|When|Where|Why|Which|Whom|Whose)(?:'s)?\\s+[^\\?\\.\\!]+\\?");
Matcher m = p.matcher(text);

List<String> questions = new ArrayList<String>();
while (m.find()) questions.add(m.group());

for (String question : questions) System.out.println(question);

我刚刚意识到可能有一个以 Who's 开头的问题,所以现在它允许在 Wh 单词后面加上 's

关于java - 在Java中使用正则表达式在给定段落中查找 'wh'句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14161033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com