我试图剥离在PHP前导数字到定界符“_” 实例: (左侧输入,右侧期望的输出)修剪从字符串中的前导号码高达定界符
1_abc.jpg -> abc.jpg
01_abc.jpg -> abc.jpg
100_abc.jpg -> abc.jpg
100_12abc.jpg -> 12abc.jpg
12abc.jpg -> 12abc.jpg
在此先感谢。正则表达式我真的很糟糕。
我试图剥离在PHP前导数字到定界符“_” 实例: (左侧输入,右侧期望的输出)修剪从字符串中的前导号码高达定界符
1_abc.jpg -> abc.jpg
01_abc.jpg -> abc.jpg
100_abc.jpg -> abc.jpg
100_12abc.jpg -> 12abc.jpg
12abc.jpg -> 12abc.jpg
在此先感谢。正则表达式我真的很糟糕。
你真的需要正则表达式吗?
$pos = strpos($string, '_');
if($pos !== false)
$string = substr($string, $pos + 1);
...或:
$string = preg_replace('/^\d+_/', '', $string);
(^
匹配字符串的开始和d+
比赛号码)
您的preg_replace将无法用于12abc.jpg - 需要“?”在下划线之后。 – 2013-02-17 03:25:46
阅读问题:'12abc.jpg - > 12abc.jpg' – 2013-02-17 03:30:43
是的,我明白了。你是对的 – 2013-02-17 03:36:09
http://www.regexr.com会帮助你。 – Achrome 2013-02-17 03:16:12
如果你在regex上真的很糟糕,在请求其他人为你写它们之前你有两个选择:(1)学习如何使用它们或(2)不用正则表达式来解决问题。两者都意味着你可以支持和维护你的代码。 – Johnsyweb 2013-02-17 03:17:09
同样的事情可以通过expload来完成 – 2013-02-17 03:18:11