Php 在第一组中包含文字后,如何在正则表达式中不包含文字?
我使用preg_match_all()来匹配一些字符串 这是我的密码Php 在第一组中包含文字后,如何在正则表达式中不包含文字?,php,regex,preg-match-all,capturing-group,Php,Regex,Preg Match All,Capturing Group,我使用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); 这是输出 现在,我想在第一个组中添加一个/,以便在捕获组中包含文本/,这样就可以了 由此
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);
这是输出
现在,我想在第一个组中添加一个/
,以便在捕获组中包含文本/
,这样就可以了
由此
([a-zA-Z0-9,\(\)\-\s\.\#:]*)
对此
([a-zA-Z0-9,\(\)\-\s\.\#:/]*)
在向组中添加
/
时,如何防止这种情况发生?使您的正则表达式不贪婪:
([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 ]*)*