开发者社区> 问答> 正文

正则表达式。查找包含某些单词的段落

3

1个 在这样的文本中:

1 bla bla bla bla bla

2 bla bla bla bla TEXT bla

3 bla bla bla bla bla

4 bla bla bla bla TEXT bla

5 bla bla bla bla bla

我必须找到p包含字符串“ TEXT”的段落(在标签之间)。 我尝试了

.?(TEXT).?</p> ,我尝试了

(?!

).?(TEXT).?</p>

但这并不能解决问题。

展开
收起
游客ufivfoddcd53c 2020-01-04 14:28:14 1060 0
1 条回答
写回答
取消 提交回答
  • 您可以尝试如下操作:

    创建一个正则表达式以获取所有组

    循环这些正则表达式以检查必要的搜索关键字并过滤出匹配项。

    var str = "<p>1 bla bla <em>bla</em> bla bla</p><p>2 bla bla <em>bla</em> bla TEXT bla</p><p>3 bla bla <em>bla</em> bla bla</p><p>4 bla bla <em>bla</em> bla TEXT bla</p><p>5 bla bla <em>bla</em> bla bla</p>";
    
    var groupRegex = /(?:^|<p>)(.*?)(?:<\/p>|$)/g;
    var searchRegex = /text/i
    var groups = str.match(groupRegex);
    
    var result = groups.filter(function(s){ return searchRegex.test(s) })
    
    console.log(result)
    
    2020-01-04 14:28:45
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载