如何将多个条件放在一个正则表达式中?

时间:2009-10-26 06:08:54

标签: regex

我想为以下场景编写正则表达式。

如果行以单词“ project ”开头,则允许除“。”之外的任何类型的字符。 (点)。

例如:

  

项目是接收已停产的物品。

不应选择上述行,并且应选择以下行:

  

项目:
  项目#1

我已经创建了这样的正则表达式,但它在少数情况下无法正常工作。任何人都可以帮我纠正我的正则表达式或创建新的RE吗?

project\s[\s\S^\.]{0,50}

上述RE的逻辑是:选择包含单词“project”的字符串,后跟一个空白字符,后跟除点字符外的所有类型的0到50个字符。

2 个答案:

答案 0 :(得分:4)

怎么样:

/ ^ project [^。] * $ / i如果你想选择“project”

/ ^ project [^。] + $ / i如果项目后至少需要一个字符

答案 1 :(得分:1)

尝试使用此正则表达式,     ^项目\ B [:#]。* $

上面的正则表达式选择该行,如果它包含项目后跟一个单词边界(空格,制表符,逗号等),后跟一个:或#。所以这不会选择“项目是拿起已停产的物品”。但它会选择“项目:”