【问题标题】:Regex - How to match at least n items in a list正则表达式 - 如何匹配列表中的至少 n 个项目
【发布时间】:2014-11-04 10:02:51
【问题描述】:

我正在尝试在 Regex 中编写一个表达式,我想在其中匹配列表中至少 n 个项目。 我正在尝试制作一个过滤器,在其中过滤掉至少触发了七项操作中的三项的用户。

假设我有一个操作列表:

abc
def
ghi
jkl
mno
pqr
stu

如何在 Regex 中编写一个表达式,以便过滤出触发了三个或更多这些操作的用户?

我对上述问题有一个后续问题。我现在想更进一步。我想为访问过我网站上三个或更多网页的所有用户制作一个过滤器,这些网页在 url 中包含特定的数字序列。例如,访问过三个或更多网页的用户:

www.website.com/123  
www.website.com/234 
www.website.com/345
www.website.com/456  
www.website.com/567  
www.website.com/678
www.website.com/789

非常感谢任何帮助!

【问题讨论】:

  • 1) 什么是“匹配至少三个(或更多)这些词?”举一个实际的例子。 2)你尝试过什么,它在哪里失败了?请edit your question
  • 不清楚,你能补充一些解释吗?

标签: regex regex-greedy


【解决方案1】:

步骤:

  • \b(abc|def|pqr|stu)\b - 使用替代词创建组。
  • {3,} - 指定最小计数。

正则表达式:

(?:\b(abc|def|pqr|stu)\b.*){3,}

regex demo

【讨论】:

  • 非常感谢!闪电般快速准确的反应! =)
  • @AndréG 如果这解决了您的问题,请accept it as an answer '关闭'您的问题并通知其他人什么对您有用。
  • @AndréG 更新你的问题,让所有用户看到你的问题没有解决。
  • 我已经更新了我的问题。 Sergey 的解决方案非常适合预期用途。
猜你喜欢
  • 2011-10-08
  • 2013-06-14
  • 1970-01-01
  • 2017-10-01
  • 1970-01-01
  • 2021-11-29
  • 2013-05-29
  • 1970-01-01
  • 2014-06-26
相关资源
最近更新 更多