国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP之PCRE正則解析

2024-09-04 11:47:40
字體:
來源:轉載
供稿:網友

本篇文章的主要內容是講PHP之PCRE正則解析,具有一定的參考價值,感興趣的朋友可以了解一下,希望能幫助到你。

一、前言

前面的博客里,有對字符集的解析。這里就不是字符集的事兒了,在PHP中很多函數的處理默認是unicode中的UTF-8編碼格式。那么廢話不多說,直接開始正題。

二、PHP函數mb_split解析

  1.  $preg_strings = '測、試、一、下'
  2.  
  3.  $preg_str = mb_split('、'$preg_strings); 
  4.  
  5.  print_r($preg_str); 

打印結果:

  1. Array( 
  2.  
  3.     [0] => 測 
  4.  
  5.     [1] => 試 
  6.  
  7.     [2] => 一 
  8.  
  9.     [3] => 下) 

此函數默認底層解析,以UTF-8的編碼格式解析。以分隔符(、)的UNICODE的16進制碼點分割字符$preg_strings。

三、PHP函數preg_split解析

分割字符串“測試一下”

  1.  $strings = '測試一下'
  2.  
  3.  $mb_arr = preg_split('//u'$strings, -1, PREG_SPLIT_NO_EMPTY); 
  4.  
  5.  print_r($mb_arr); 

打印結果如下:

  1. Array( 
  2.  
  3.     [0] => 測 
  4.  
  5.     [1] => 試 
  6.  
  7.     [2] => 一 
  8.  
  9.     [3] => 下 
  10.  

四、PCRE中的/u解析

在PHP中,正則的定界符可以為#、%、/等等。

在一個正則中有時后面會有些修飾符。那么他們都是什么意思呢?

比如:

%[/x{4e00}-/x{9fa5}]+%u

其中后面的修飾符u代碼表以正則匹配以utf-8的編碼格式匹配。

例子一:

  1.  $strings = '測試一下'
  2.  
  3.  $is_true = preg_match_all('%[/x{4e00}-/x{9fa5}]+%u'$strings$match); 
  4.  
  5.  var_dump($is_true); 

打印結果如下:

  1. Array( 
  2.  
  3.     [0] => Array 
  4.  
  5.         ( 
  6.  
  7.             [0] => 測試一下 
  8.  
  9.         ) 
  10.  

這里的[/x{4e00}-/x{9fa5}]是什么意思呢?

在PHP正則中/x用來表示16進制。

中文的UNICODE碼點在4E00 - 9FFF (這里說的都是16進制)

所以,正則匹配寫法就是區間[],[/x{4E00}-/x{9FFF}]

這兩個正則的效果都是一樣的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 凌源市| 张家港市| 连山| 仁布县| 绍兴县| 措美县| 桑植县| 江山市| 诸城市| 潜江市| 清水河县| 高唐县| 左云县| 十堰市| 雷山县| 凤庆县| 芦山县| 永春县| 科技| 申扎县| 洛南县| 清水河县| 青州市| 靖州| 来安县| 岐山县| 延庆县| 县级市| 甘孜县| 巴青县| 黔西县| 三原县| 桃江县| 海盐县| 克什克腾旗| 贵德县| 尚志市| 岳阳县| 灵丘县| 深泽县| 扎鲁特旗|