我需要用空格分隔字符串,并在PHP正则表达式中匹配空格字符。有人有任何想法吗?
$string = "microsoft office home and business 38.1 24 N/A 76.3"
并将其拆分为
阵 ( [0] =>微软办公室家庭和企业 [1] => 38.1 [2] => 24 [3] => N / A [4] => 76.3 )
我试过这个但不适合我
preg_replace ("/[^a-zA-Z $]/", "", $string);
答案 0 :(得分:0)
怎么样......
$string = "This is a name 38 24 N/A 76";
$regex = '/([^0-9]+) ([\dN\.\/A ]+)/';
preg_match($regex, $string, $m);
$name = $m[1];
$parts = explode(' ', $m[2]);
var_dump($name, $parts);
// You get:
// string(14) "This is a name"
// array(4) {
// [0]=>
// string(2) "38"
// [1]=>
// string(2) "24"
// [2]=>
// string(3) "N/A"
// [3]=>
// string(2) "76"
// }
答案 1 :(得分:0)
答案 2 :(得分:0)
将preg_match_all()
与以下表达式一起使用:
^(?P<name>\D+)
([\d.]+)\h*
([\d.]+)\h*
([NA/]+)\h*
([\d.]+)$
在regex101.com上查看它(请注意修饰符!)。
<小时/> 在PHP
中,这归结为:
<?php
$regex = '~
^(?P<name>\D+)
([\d.]+)\h*
([\d.]+)\h*
([NA/]+)\h*
([\d.]+)$~xm';
$string = 'microsoft office home and business 38.1 24 N/A 76.3
This is a name 38.0 24.1 N/A 76';
preg_match_all($regex, $string, $matches, PREG_SET_ORDER);
print_r($matches);
?>