文字列を 2 つの部分に分割したいのですが、文字列はほとんど自由なテキストです。たとえば、次のようになります。
$string = 'hi how are you';
そして、分割を次のようにしたい:
array(
[0] => hi
[1] => how are you
)
この正規表現を使用してみました:/(\S*)\s*(\.*)/
しかし、返された配列が正しいサイズであっても、値は空になります。
これを機能させるために必要なパターンは何ですか?
要件は何ですか?あなたの例はかなり恣意的なようです。最初のスペースで分割し、残りの文字列をそのままにしておくことだけが必要な場合は、次を使用してそれを行いますexplode
。
$pieces = explode(' ', 'hi how are you', 2);
これは基本的に「スペースで分割し、結果の配列を2つの要素に制限する」と言っています
「。」をエスケープしないでください。最後のグループで。リテラルのピリオドではなく、任意の文字に一致させようとしています。
訂正:/(\S*)\s*(.*)/