
124
|
第
4
章
字符串
$ops = preg_split('{([+*/
−
])}', '3+5*9/2',
−
1, PREG_SPLIT_DELIM_CAPTURE);
// $ops
的值是
array('3', '+', '5', '*', '9', '/', '2')
一个空模式匹配字符串中字符间的每个边界以及字符串的开头和结尾,这样你就可以把
一个字符串拆分成一个字符数组 :
$array = preg_split('//', $string);
使用正则表达式过滤数组
preg_grep()
函数可以返回和给定的模式匹配的数组的所有元素 :
$matching = preg_grep(
pattern
,
array
);
例如,要获取以
.txt
结尾的文件名,可以使用 :
$textfiles = preg_grep('/\.txt$/', $filenames);
引用正则表达式
preg_quote()
函数创建一个只匹配给定字符串的正则表达式 :
$re = preg_quote(
string
[,
delimiter
]);
在
string
中,每一个在正则表达式(如
*
或
$
)中含有特定含义的字符都以反斜杠开始 :
echo preg_quote('$5.00 (five bucks)');
\$5\.00 \(five bucks\)
第二个参数可选,它是被引用的额外字符。通常,可以用这个参数传递正则表达式的分
隔符 :
$toFind = '/usr/local/etc/rsync.conf';
$re ...