首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式:匹配单词或短语

正则表达式:匹配单词或短语
EN

Stack Overflow用户
提问于 2014-09-25 06:09:32
回答 1查看 1.4K关注 0票数 1

目前,我在javascript中使用以下RegEx来匹配和计数字符串中的单词。它与这个ReEx一起工作:

RegEx:

代码语言:javascript
复制
var pickRegExp = /[^\W\d]+[\u00C0-\u017Fa-zA-Z'](\w|[-'](?=\w))*/gi;

关键词:美丽

串:花园里那棵美丽的树。花园里有一棵美丽的树。

输出:

  • 指标:4
  • 美丽: 2
  • 树:2
  • 花园
  • in: 2

现在,我也想要匹配短语(准确)。例如:

关键词或短语:美丽的树

串:花园里那棵美丽的树。花园里有一棵美丽的树。这棵漂亮的模型树卖光了。

输出:

  • 指标:4
  • 美丽树: 2
  • 树:1
  • 美丽:1
  • 花园
  • in: 2

我对RegExp不是很坚定。你有什么窍门给我吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-25 06:29:19

关于

代码语言:javascript
复制
/\b(Beautiful tree|..*?)\b/gi

例如,精确匹配和通用单词匹配regexp之间的逻辑OR?

代码语言:javascript
复制
s = ("The beautiful tree in the garden. In the garden is " +
     "the beautiful tree. The model tree beautiful is sold out.");
result = {}
s.match(/\b(Beautiful tree|..*?)\b/gi).forEach(function(x) {
    result[x] = (result[x]|0) + 1;
});

给出

代码语言:javascript
复制
{ " ": 15,
  ". ": 2,
  "In": 1,
  "The": 2,
  "beautiful": 1,
  "beautiful tree": 2,
  "garden": 2,
  "in": 1,
  "is": 2,
  "model": 1,
  "out": 1,
  "sold": 1,
  "the": 3,
  "tree": 1 }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26031775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档