正则表达式检查文本是否包含短语

时间:2014-01-16 13:49:52

标签: regex

我正在尝试编写一个基本上执行以下操作的正则表达式:假设我有这句话:“我的邻居驾驶黄色车很酷”。我基本上想要一个匹配这句话的正则表达式。但是,“驾驶黄色汽车”是可选的,但如果出现,我想抓住黄色这个词。

2 个答案:

答案 0 :(得分:0)

My\sneighbour\s(?:driving\sa\s(?<color>yellow)\scar)?\sis\scool

答案 1 :(得分:0)

使用PHP,它将是:

if ( preg_match( '/My\sneighbour\s(driving\sa\s.+\scar)?\sis\scool/', $originalString ); ) {
    $color = preg_replace ( '/My\sneighbour\s(driving\sa\s(.+)\scar)?\sis\scool/', '$2', $originalString );
}