PHP寻找一个从字符串中获取值的函数

标签 php arrays regex function output

我在 PHP 中寻找一个函数,它只能从此字符串中获取以“ACTIVE-”开头的数字,但忽略以“CATEGORY-ACTIVE-<”开头的数字/strong>”

 $product_req = "ACTIVE-6,CATEGORY-ACTIVE-8,CATEGORY-ACTIVE-4,ACTIVE-9";

我尝试使用 preg_match_all 但它不会工作,因为它会返回所有数字。我应该改用什么函数?

谢谢。

最佳答案

使用负面回顾 ?<!-对于 Hyphen ,如果在单词 ACTIVE 之前找到连字符那么它就不会被匹配。

<?php
$str = 'ACTIVE-6,CATEGORY-ACTIVE-8,CATEGORY-ACTIVE-4,ACTIVE-9';
preg_match_all('/(?<!-ACTIVE-)(\d+)/', $str, $matches);
echo implode(',',$matches[1]); 

OUTPUT :

6,9

enter image description here

关于PHP寻找一个从字符串中获取值的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23003944/

相关文章:

php - 在 PHP 中通过引用传递还是返回数组?

PHP/MySQL 使用长查询检查表之间的数据

c++ - &y[0] == &x.a 的值是多少?

arrays - 如何在查询嵌套对象/数组时使用 "wildcard"或 "regexp"

javascript - 如何使用正则表达式进行 Angular 过滤

PHP, XML 如何获取属性?

java - 从数组中删除重复条目的程序不会删除某些条目

regex - 删除正则表达式中的第一个空格

regex - MVC4 中的正则表达式

php - 将 tinymce textarea 内容保存到文件