【问题标题】:Need a Perl Compatible Regular Expression (PCRE)需要 Perl 兼容的正则表达式 (PCRE)
【发布时间】:2012-02-08 15:31:28
【问题描述】:

嗨,有人可以帮我写这个正则表达式吗?我需要在 Twitter 推文中搜索具有(tickets 或 tix)AND(sale 或 low)的推文。

我知道我可以使用这个/(tickets|tix)(sale|low)/i

但是如何做 AND 部分。

【问题讨论】:

  • 当你说“AND”时,你的意思是推文必须包含单词AND,还是其他?
  • sale|low 可以在 tickets|tix 之前出现,还是总是在之后?
  • 实际上可以是任何订单@Wiseguy ... AND 表示运算符 AND p.g.l.hall
  • 谢谢大家。真的很有帮助。

标签: regex pcre


【解决方案1】:

这已经是 AND 部分,但我猜你希望这些词出现在任何地方。应该这样做:

/.*(tickets|tix).*(sale|low).*/i 

应该这样做,但是 (tickets|tix) 必须出现在 (sale|low) 之前。如果您不希望它们按该顺序排列,您可以为每条推文使用 2 个不同的正则表达式:

/(tickets|tix)/i
/(sale|low)/i

【讨论】:

    【解决方案2】:

    试试这个:

    /[tickets|tix][sale|low]/i
    

    【讨论】:

    • 这将匹配具有门票/tix OR sale/low 的字符串
    • 比这更糟糕。它恰好匹配两个字符:一个来自集合{ 't' 'i' 'c' 'k' 'e' 's' 'x' '|' },然后是一个来自集合{ 's' 'a' 'l' 'e' 'o' 'w' '|' }(或大写等价物,在字母的情况下)。 ref
    猜你喜欢
    • 2011-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-29
    • 2019-05-02
    • 2012-04-20
    • 1970-01-01
    相关资源
    最近更新 更多