【问题标题】:Regex to match one of any terms, some terms with spaces正则表达式匹配任何术语之一,一些带有空格的术语
【发布时间】:2017-06-19 00:20:58
【问题描述】:

我正在尝试编写一个匹配多个术语之一的正则表达式,作为垃圾邮件过滤器的一部分。问题是,其中一些术语包含空格,我无法编写有效的表达式。

我最初拥有的(在多个词项之前)是这样的:

(?i)(alzheimers|baldness|obese)

现在,我想添加,例如“血压”,但下面的表达式是在吃谷仓:

(?i)(alzheimers|baldness|blood pressure|obese)

【问题讨论】:

    标签: regex spam-prevention


    【解决方案1】:

    您可以在非此即彼的组中包含空格字符,您的表达式有效。自己检查一下: https://regex101.com/r/56tz6B/1

    【讨论】:

    • 没错。我想知道为什么它在 dovecot sieve 中不起作用……我可能会从我的过滤器中删除它们。 (我知道我最初没有提到 dovecot,不知道这是该应用程序特有的问题)
    【解决方案2】:

    您的表达方式也应该与“血压”相匹配,没有任何问题。 您可以尝试使用\s+ 代替空格字符,看看它是否有效?请注意,这也将匹配任何空格(制表符、新行等)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-13
      相关资源
      最近更新 更多