使用正则表达式获取包含特定单词的句子
Get sentence containing specific word with regex
我正在寻找包含特定单词的句子。我定义了一个以以下字符开头和结尾的句子:. ! ?
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包的帮助才能完成。
如果你想限制在你定义的句子后面的特定字符串:
- 拆分
/[.?!]/
regex - 检查条目是否包含
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
regexp。
相关文章:
- 使用jQuery检查提交时添加到句子中的单词
- 如何使用Javascript在给定的句子中找到大写单词并在其前面添加一个字符
- 获取特殊字符后没有单词的句子
- 我怎么能用css或(angular)javascript把句子分成两行,只在特定单词后面
- 找出句子中最长的单词——Javascript
- undercore返回数组中对象的indes,其中单词存在于对象中的句子中
- 如何按从当前单词到段落中该句子(.)结尾的范围选择文本
- regex过滤单词长度最小的句子
- Regex帮助:将单词分解以完成句子测验
- JavaScript只接收句子中的第一个单词
- 在jQuery中,只从句子中获取单词或数字的一部分
- 使用正则表达式提取句子中的最后几个单词
- 我如何在 Java 脚本中找到句子中单词的出现次数
- 计算长字符串中每个句子的单词,jQuery
- 将句子或驼峰大小写单词转换为棘壳
- JavaScript 正则表达式匹配句子中的单词
- 将句子字符串拆分为单词数组,然后将单词数组拆分为单词数组中的字符数组
- 正则表达式检查句子的单词
- 特定的UIWebView选择(只有整个单词/句子)
- 如何通过链接证明页面中的单词(句子)