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

我正在尝试从字符串中提取序列号以进行匹配比较,并认为使用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感到满意!我尝试了各种组合,而以上是我设法达到的最接近的组合。需要找到一个像样的在线教程。

参考方案

你可以用这个

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

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

使用preg_replace删除div - php

我正在尝试删除此div<div id="myid" class="myclass">other_tags_here</div> 我在用preg_replace ("/<div id=\"myid\" class=\"myclass\">…

PHP-将日期插入日期时间字段 - php

我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数

PHP-如何获取类的成员函数列表? - php

如果我知道班级的名字。有没有办法知道类的成员函数列表? 参考方案 get_class_methods()是你的朋友

PHP-我们应在会话中包含哪些数据? - php

这是一个初学者的问题...在网站中,会话中应该包含或不应该包含什么类型的数据?我了解我不应该包含任何需要保持安全的信息。我对编程最佳实践更感兴趣。例如,有可能在会话中包括一些数据,否则这些数据将作为依赖项注入从一个页面发送到另一个页面。这不等于创建全局变量吗?一般来说,哪种数据在会话表中已经存在或没有?谢谢,JDelage 参考方案 您应该将会话视为一次写入…

php ziparchive类源代码 - php

Improve this question 我如何获取ziparchive类本身的源代码。 参考方案 假设您在谈论PHP ZipArchive class:下载PHP source code并查找适当的文件。如果您希望源代码是PHP代码,您可能会感到失望,因为源代码是用C语言编写的。或者,也可以在PHP Github Development Reposito…