字符串遵循REGEX

时间:2012-08-03 08:47:11

标签: php regex

我有正则表达式

$pattern = '/\b\d{4}-\d{4}\b/';
preg_match($pattern, $text, $matches);

我需要在正则表达式之后获得5个单词。有什么想法我会怎么做到这一点?

例如“Power Slot Slotted Rotors - 1997-1998 Oldsmobile Regency - Brakes& Brake Pads - Brake Rotors。”

我需要返回“1997-1998 Oldsmobile Regency - Brakes&”;

有什么想法吗?

//从底部评论中更新。

一个字符串中可能有多个匹配项。例如

“例如:”2000-2009 Ford Explorer,2000-2010 Ford Ranger。 1674SJT JBA Cat4ward标题功能“

我仍在尝试在数字序列xxxx-xxxx之后获得前5个“非空格”。

2 个答案:

答案 0 :(得分:2)

/\b\d{4}-\d{4}( [^ ]*){5}\b/

获取一个空格,后跟除空格(即单词)之外的任何内容。做5次。

答案 1 :(得分:2)

完成编辑后,请尝试以下操作:

/\b\d{4}-\d{4}(?:\s(?!\d{4}-\d{4})\S+){1,5}\b/

See it working

感谢@Ariel的正则表达式,这是基于,这是正确的,直到通过编辑指定了其他要求。如果你喜欢这个,那么也应该回答这个问题; - )