Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:使用preg_match修剪字符继续'-';_Php_Regex_Preg Match - Fatal编程技术网

PHP:使用preg_match修剪字符继续'-';

PHP:使用preg_match修剪字符继续'-';,php,regex,preg-match,Php,Regex,Preg Match,我有一个未序列化的数组,我正在尝试修改数组中的字符串并删除字符,包括连字符 字符串如下所示,虽然“SOMETEXT-150 x 50”,但其长度并不总是规则的 我尝试了一个正则表达式,但它不起作用,这是我第一次尝试创建正则表达式 $item['options']['Size'] = preg_replace('/^[^-]*,\s*/', '', $item); 如果有人能帮我指出正确的方向,那就太棒了 preg_replace('/-[^-]*$/', '', $item); 这应该可以满

我有一个未序列化的数组,我正在尝试修改数组中的字符串并删除字符,包括连字符

字符串如下所示,虽然“SOMETEXT-150 x 50”,但其长度并不总是规则的

我尝试了一个正则表达式,但它不起作用,这是我第一次尝试创建正则表达式

$item['options']['Size'] = preg_replace('/^[^-]*,\s*/', '', $item);
如果有人能帮我指出正确的方向,那就太棒了

preg_replace('/-[^-]*$/', '', $item);

这应该可以满足您的需要。

您希望的输出是什么?你的问题有点不清楚抱歉,我正试图删除字符串中所有以连字符开头的字符:“SOMETEXT-150x50”这太棒了。这对我来说将是一项相当常规的任务,出于兴趣,我将如何配置reg ex以删除连字符之前的所有内容?我正试图弄清楚语法。Thanks@LiamFell
^[^-]*
应该这样做,以便完整的函数看起来像这样?替换前(“/^[^-]*$/”,“$”项)@LiamFell
preg_replace(“/^[^-]*/”,“,$item)您不需要
$
der