2017-08-11 18 views
1

内の任意の削除せずに正規表現による新ラインチェーン付き配列に文字列を解析し、私は多くの組み合わせを試してみました私は、この文字列を解析する必要がPHP

$arr = [ 
    "\n\n\n", 
    "ABC\n", 
    "\n", 
    "DEF\n", 
    "GHI\n", 
    "\n\n", 
    "JKL" 
] ; 

、運がない:

$arr = preg_match_all("/[^\n]+[\n]+/",$str,$out) ; 

Regexはこれをどのように処理できますか?

+0

3つの主要な改行がまとめて保存されているが、3つの内部改行が、ポストされた例で別々の文字列になるのはなぜですか?分割ルールとは何ですか? – axiac

答えて

3

このパターンは、仕事をしていません:脇として

preg_match_all('~\n+|.+\n?~', $str, $matches); 

demo

は、preg_match_allマッチ又はfalseの数を返し、マッチは、第三のパラメータに格納されています。

+0

"/ [^ \ n] + | [\ n] + /"もうまくいきます。ありがとうございます! – Digerkam

+1

@Digerkam:それはありません、https://3v4l.org/B2tEnを参照してください –

+0

あなたは正しいです、私の急いでthatsです:)、もう一度ありがとう! – Digerkam

関連する問題