php - preg_split('/(?<!^)(?!$)/u', $string ) 这个正则为啥能够split多字节字符
迷茫
迷茫 2017-04-11 09:59:02
0
1
339
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 修饰符, 但是对里面的正则代表的含义不是太懂,(?<!^)(?!$) 正则具体匹配到的是那些字符?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

모든 응답(1)
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!