$str = '$10000P123
$10000p123
$10000-123
10000123
10000P123
10000p123
10000-123
2000123';
preg_match_all('/\$?[0-9]+[p|-][0-9]+/i',$str,$m);
print_r($m[0]);

解决方案 »

  1.   

    preg_match_all('/\$?[0-9]*[p|-]*[0-9]+[p|-]*/i',$str,$m);
      

  2.   

    不是高手,写一个preg_match_all('/\$?[\dp-]+/i',$str,$m);
    print_r($m[0]);
      

  3.   

    :O,我眼花瞭.
    jinjuduo() 的不就对了吗?
      

  4.   

    抱歉,上面的jinjuduo() 校验不通过,
    我用上面的校验来校验这个100m0003,竟然通过了;非常感谢大家的支持;
      

  5.   

    公司要开发一个面对外国人的外文网站,给老外提供各种服务,想请2~3名开发人员,主要是对Discuz系统进行修改,然后添加一些个性功能
    对该职位有兴趣的朋友可以发邮件到[email protected]
    公司现在经营的是给老外找房子的业务,网址sinohousing.com
    谢谢支持