我有正则表达式
$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个“非空格”。
答案 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/
感谢@Ariel的正则表达式,这是基于,这是正确的,直到通过编辑指定了其他要求。如果你喜欢这个,那么也应该回答这个问题; - )