正则表达式匹配任何术语之一,一些术语带有空格

Regex to match one of any terms, some terms with spaces

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

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

(?i)(alzheimers|baldness|obese)

现在,我想添加,例如 "blood pressure",但是下面的表达式是 chucking a barny:

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

您可以在 either-or 组中使用空白字符,您的表达式有效。自己检查一下: https://regex101.com/r/56tz6B/1

您的表达式也应该与 "blood pressure" 匹配,没有任何问题。 您能否尝试使用 \s+ 而不是 space 字符,看看它是否有效?请注意,这也会匹配任何白色space(制表符、换行符等)。