使用preg_match_all获取特定数据

时间:2015-01-27 18:45:23

标签: php regex preg-match-all

我有不同的文本格式不正确,因此我需要一个适用于所有文本的模式,并从中返回一些特定的元素(文本)。假设我有这样的文字:

"AL TEST232    KW     12*/13*/17 TEST kw16TEST123 kw 15*"

我希望我的preg_match_all()返回这样的内容:

Array
(
    [0] => Array
        (
            [0] => AL TEST232
            [1] => 12/13/17
        )
    [1] => Array
        (
            [0] => TEST
            [1] => 16
        )
    [2] => Array
        (
            [0] => TEST123
            [1] => 15
        )
)

单一模式可以实现吗?

1 个答案:

答案 0 :(得分:1)

您可以使用:

preg_match_all('~(\w[\s\w]*?\w)\s*kw\s*([\d/*]+)~', $input, $matches);

RegEx Demo