用preg_match_all获取具体数据
Obtain specific data with preg_match_all
我有不同的文本,格式不正确,因此我需要一个适用于所有文本的模式,return 从中提取一些特定元素(文本)。假设我有这段文字:
"AL TEST232 KW 12*/13*/17 TEST kw16TEST123 kw 15*"
我希望我的 preg_match_all() 变成 return 这样的东西:
Array
(
[0] => Array
(
[0] => AL TEST232
[1] => 12/13/17
)
[1] => Array
(
[0] => TEST
[1] => 16
)
[2] => Array
(
[0] => TEST123
[1] => 15
)
)
单一模式是否可行?
您可以使用:
preg_match_all('~(\w[\s\w]*?\w)\s*kw\s*([\d/*]+)~', $input, $matches);
RegEx Demo
我有不同的文本,格式不正确,因此我需要一个适用于所有文本的模式,return 从中提取一些特定元素(文本)。假设我有这段文字:
"AL TEST232 KW 12*/13*/17 TEST kw16TEST123 kw 15*"
我希望我的 preg_match_all() 变成 return 这样的东西:
Array
(
[0] => Array
(
[0] => AL TEST232
[1] => 12/13/17
)
[1] => Array
(
[0] => TEST
[1] => 16
)
[2] => Array
(
[0] => TEST123
[1] => 15
)
)
单一模式是否可行?
您可以使用:
preg_match_all('~(\w[\s\w]*?\w)\s*kw\s*([\d/*]+)~', $input, $matches);