Searching and extracting from a String using regex in PHP
本问题已经有最佳答案,请猛点这里访问。
我在php中有以下字符串:
1 | $cars ="Ford Chevrolet Dodge Chrysler"; |
我需要输出哪些单词具有各种属性,例如:哪个单词以"let"结尾?或者哪个词以"fo"开头?
我不确定如何处理这个问题。我对regex格式非常熟悉,并且我已经得到了preg_匹配来识别匹配项,但这只是1或0中给出的结果。
那么,我应该使用空格作为分隔符来拆分单词,并分别搜索每个单词的匹配项吗?还是有更简单的方法来解决这个问题?
我知道preg_split函数,但我不知道如何实际访问split字符串。
1 2 3 4 5 6 | $cars ="Ford Chevrolet Dodge Chrysler"; $param1 = '/(let)+/'; $param2 = '/(fo)+/'; echo preg_match($param1, $cars); echo preg_match($param2, $cars); |
我知道这不起作用,但它会打印1并向我验证两个参数是否匹配。我只是不知道如何分别为参数1和2提取完整的"chevrolet"和"ford"。
我相信您能够理解如何将用户输入插入变量
1 2 3 4 5 6 7 8 9 10 11 12 | $string ="Ford Chevrolet Dodge Chrysler"; $start =""; $end ="let"; if(!empty($start)) preg_match_all("#" . $start ."\w+#", $string, $matches); elseif(!empty($end)) preg_match_all("#\w+" . $end ."#", $string, $matches); else die("Nothing has been set!"); print_r($matches); |
这是对示例字符串中以
要简单地回显所有匹配项,请使用这样的foreach循环,而不是使用
1 2 3 4 5 6 7 |