2015-04-06 44 views
1

我正在使用preg_match_all()來匹配一些字符串。如何在正則表達式中包含第一組之後的文字?

這是我的代碼

preg_match_all('@([a-zA-Z0-9,\(\)\-\s\.\#:]*)Date From: [0-9]{2}/[0-9]{2}/[0-9]{4}([, \s]*[0-9]{2}/[0-9]{2}/[0-9]{4})*\s(Division Type: [A-Z ]*)*@m', $string, $match); 

這是輸出

https://regex101.com/r/hE3iO2/1

現在,我想一個/添加到第一組包括捕獲組中的文字/和這發生了

from this

([a-zA-Z0-9,\(\)\-\s\.\#:]*) 

這個

([a-zA-Z0-9,\(\)\-\s\.\#:/]*) 

https://regex101.com/r/wM1rW7/1

我怎樣才能防止這種現象將/到組時發生的呢?

回答

0

讓您的正則非貪婪:

([a-zA-Z0-9,()\s.#:/-]*?)Date From: [0-9]{2}/[0-9]{2}/[0-9]{4}([, \s]*[0-9]{2}/[0-9]{2}/[0-9]{4})*\s(Division Type: [A-Z ]*)* 

RegEx Demo

相關問題