php
  • regex
  • string
  • 2016-07-13 6 views 0 likes 
    0

    phpとregexを使用して、データの文字列を分割して次の要件を満たす必要があります。ホワイトスペースのphp regexの空白で引用符を無視する

    1. スプリットそれは
    2. は、引用符内の空白を無視します。たとえば、

    1. $文字列= 'TID:1212121'; - "tid:1212121"の配列を返してください。

    2. $ string = 'tid:1211トピック:ted title: "このタイトル"; 3つのtid:1211、トピック:tedとタイトル: "このタイトル"で配列を返す必要があります。

    私の個人的な正規表現の能力は恐ろしいものです。また、引用符がエスケープされないように入力を制御することはできません。 $ string = 'tid:1211 topic:ted title: "このタイトル" lid:332 fid: "別のビットのテキスト";

    ありがとうございました!

    preg_match_all('/([^ ]*("[^"]*")[\s])|([^ ]+[\s])/', $string, $matches); 
    

    はあなたがでアクションで見ることができます:すべての非空白文字が先行する引用されている場合

    +0

    preg_match_all = 'TIDを選択します:1212121 '; '。あなたはPHPファイルを解析しようとしていますか? – chris85

    +0

    遅く返事を申し訳ありません。 phpファイルではなく、ただ入力します。両方を解析できる必要があります。時には入力にスペースがあり、時には入力がちょうど値になっていることもあります。 – ASmithJackson

    答えて

    0

    これはあなたを助けることができるphpliveregexと私は$文字列 `には空白文字を見ない

    +0

    ありがとうございます。 – ASmithJackson

    +0

    これを小さな値でテストしてもうまくいきません。他に何が出てくるかわかります。 私は 'pid:354 title:joe'を試しました。 – ASmithJackson

    関連する問題