gpt4 book ai didi

php - 使用 preg_match 将字符串提取到 : & | characters 之间的数组中

转载 作者:行者123 更新时间:2023-12-04 05:17:28 28 4
gpt4 key购买 nike

我正在尝试从字符串中提取序列号以比较匹配项,并认为使用 preg_match 可能可行,但我正在努力处理正则表达式。

有人可以提供任何帮助吗?

目前的尝试如下:

$example = "CPM-200:0123456L|CPM-100:9876543L|CJ Pro:CJP33-011";

pre_match("/\:(.*?)\|/", $example, $matches);
var_dump($matches);

目前上面吐出:

Array(2) {
[0]=> string(10) ":0123456L|"
[1]=> string(8) "0123456L"
}

但我实际上想将它提取到:

Array(0) {
[0] => 0123456L
[1] => 9876543L
[2] => CJP33-011
}

我从来都不擅长正则表达式!我尝试了各种组合,上面是我设法达到的最接近的组合。需要找到一个像样的在线教程。

最佳答案

你可以用这个

:([^|]+)(?:\||$)

Regex Demo

正则表达式分解

: #Match :
([^|]+) #Match anything other than |
(?:
\| #Match | literally
| #Alternation(OR) --> Match | or $
$ #End of string
)

PHP 代码

$re = "/:([^|]+)(?:\\||$)/"; 
$str = "CPM-200:0123456L|CPM-100:9876543L|CJ Pro:CJP33-011";

preg_match_all($re, $str, $matches);
print_r($matches[1]);

Ideone Demo

关于php - 使用 preg_match 将字符串提取到 : & | characters 之间的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37394835/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com