preg_split を使用して、PHP で文字列を用語に分割しようとしています。通常の単語 ( \w ) だけでなく、通貨 (通貨記号も) と数値用語 (カンマと小数点を含む) を抽出する必要があります。これを達成するために preg_split に使用する有効な正規表現を作成できないようです。ありがとう
3 に答える
1
preg_match_all()
これを含む各単語についてはどう[\S]+\b
でしょうか。次に、単語を含む配列を取得します。
大きな茶色のキツネ-$20.25が返されます
preg_match_all('/[\S]+\b/', $str, $matches);
$matches = array(
[0] = 'Big',
[1] = 'brown',
[2] = 'fox',
[3] = '$20.25'
)
于 2012-01-06T23:47:03.107 に答える
1
preg_match_all()
の代わりに使用しないのはなぜpreg_split()
ですか?
$str = '"1.545" "$143" "$13.43" "1.5b" "hello" "G9"'
. ' This is a test sentence, with some. 123. numbers'
. ' 456.78 and punctuation! signs.';
$digitsPattern = '\$?\d+(\.\d+)?';
$wordsPattern = '[[:alnum:]]+';
preg_match_all('/('.$digitsPattern.'|'.$wordsPattern.')/i', $str, $matches);
print_r($matches[0]);
于 2012-01-06T23:41:28.260 に答える
0
空白で分割することで問題は解決しますか?"/\s+/"
于 2012-01-06T23:39:54.423 に答える