php - preg_split('/(?<!^)(?!$)/u', $string ) 这个正则为啥能够split多字节字符
本文介绍了php - preg_split('/(?<!^)(?!$)/u', $string ) 这个正则为啥能够split多字节字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
function mb_str_split( $string ) {
# Split at all position not after the start: ^
# and not before the end: $
return preg_split('/(?<!^)(?!$)/u', $string );
}
$string = '火车票';
$charlist = mb_str_split( $string );
print_r( $charlist );
?>
Prints:
Array
(
[0] => 火
[1] => 车
[2] => 票
)
是PHP手册里面的一个例子,其实已经有注释了。 自己知道要区分多字节正则表达式需要加上 u 修饰符, 但是对里面的正则代表的含义不是太懂,(?<!^)(?!$) 正则具体匹配到的是那些字符?
解决方案
是环视,匹配位置的用法~
这篇关于php - preg_split('/(?<!^)(?!$)/u', $string ) 这个正则为啥能够split多字节字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文