gpt4 book ai didi

javascript - 使用正则表达式获取包含特定单词的句子

转载 作者:太空宇宙 更新时间:2023-11-04 16:30:14 25 4
gpt4 key购买 nike

我正在尝试查找包含特定单词的句子。我定义了一个以以下字符开头和结尾的句子:。 ! ?

var str = "Hello, how is it going. This is the bus we have to take!";
var regex = /[^.?!]*(?:[.?,\s!])(bus)(?=[\s.?!,])[^.?!]*[.?!]/igm;

var result = regex.exec(str);


output : `This is the bus we have to take!`

现在,当我尝试查找包含单词 hello 的句子时遇到了麻烦,因为它是句子的开头。我如何更改我的正则表达式以包含这种情况?我不习惯正则表达式,即使有文档在我眼前,也很难进入它!

最佳答案

请记住,将文本分割成语言句子是一项非常具体、困难的任务,通常需要借助 NLP 软件包来执行。

如果您想限制句子定义后面的特定字符串:

  • 使用 /[.?!]/ 正则表达式分割
  • 使用 RegExp#test() 检查条目是否包含子字符串,因为您需要不区分大小写的检查

var str = "Hello, how is it going. This is the bus we have to take!";
var chunks = str.split(/[.?!]/).filter(function(n) {
return /hello/i.test(n);
});
console.log(chunks);

请注意,要检查整个单词,您可以使用 /\bhello\b/i/(?:^|\s)hello(?!\S)/i 正则表达式取决于进一步的要求。

关于javascript - 使用正则表达式获取包含特定单词的句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39876987/

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