本帖最后由 u013670343 于 2014-02-22 21:44:46 编辑

解决方案 »

  1.   

    [']*(?:proId|newsId)[']*:\s*[']*(\d+)[']*
      

  2.   

    [']*(?:proId|newsId)[']*:\s*[\'\"]*(\d+)[\'\"]*
      

  3.   

    第一个问题$s=<<<txt
    proId:       '123456789',
    'proId':'123456789',
    txt;
    preg_match_all("/proId'?\:\s*'(\d+)/",$s,$m);
    print_r($m[1]);第二个问题$s=<<<txt
    'newsId':'987654321',
    newsId:"987654321",
    txt;
    preg_match_all("/newsId'?\:('|\")(\d+)/",$s,$m);
    print_r($m[2]);
      

  4.   

    第一个:
    /(\'){0,1}newsId(\'){0,1}:(\'|\")(\d+)(\'|\"),/第二个
    /(\'){0,1}userId(\'){0,1}:(\s*?){0,1}\'(\d+)\',/
      

  5.   

    $s =<<< TXT
    proId:       '123456789',
    'proId':'123456789',
    'newsId':'987654321',
    newsId:"987654321",
    TXT;
    preg_match_all('/:\s*([\'"])(.+)\1/', $s, $r);
    print_r($r[2]);Array
    (
        [0] => 123456789
        [1] => 123456789
        [2] => 987654321
        [3] => 987654321
    )