如何使用正则表达式查找数组


how to find array with regex

>我有一个数组,根据我的输入,它将为特定节点返回不同的名称。例如,在下面,我的关键节点的名称是n1:ModemProduct1207,但它也可以n1:ModemProduct1308

我想知道有没有办法拥有这样的东西:

$array ['n1:ModemProducts'] ['n1:ModemProduct'. (regex here like"n1:ModemProduct['d0-9]{4}+")];
$modemProducts = $array ['n1:ModemProducts'] ['n1:ModemProduct1207'];

我尝试了几个选项,但无法让它工作。

一维数组的小函数:

function filterProducts($array, $pattern){
  $result = array();
  foreach($array as $key => $value){
    if (preg_match($pattern, $key)){
      $result[$key] = $value;
    }
  }
  return $result;
}

用法:

$results = filterProducts($array['n1:ModemProducts'], '/n1:ModemProduct['d]{4}/');

$array = array('Armenia', 'America', 'Algeria', 'India', 'Brazil', 'Croatia', 'Denmark');

$fl_array = preg_grep('/^A.*/', $array);

print_r($fl_array);

有关参考,您可以看到 http://ask.amoeba.co.in/php-search-in-an-array-for-values-matching-a-pattern-regex-wildcard/

我正在尝试解决你的问题

希望这个帮助

谢谢阿南德