0

preg_split を使用して、PHP で文字列を用語に分割しようとしています。通常の単語 ( \w ) だけでなく、通貨 (通貨記号も) と数値用語 (カンマと小数点を含む) を抽出する必要があります。これを達成するために preg_split に使用する有効な正規表現を作成できないようです。ありがとう

4

3 に答える 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 に答える