国产探花免费观看_亚洲丰满少妇自慰呻吟_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}]

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蒲城县| 平邑县| 夏津县| 固阳县| 蚌埠市| 平江县| 宁波市| 灌南县| 鸡西市| 襄垣县| 肥西县| 天长市| 南昌市| 西丰县| 察隅县| 保康县| 乐山市| 榕江县| 京山县| 仁布县| 乐山市| 余庆县| 威海市| 正宁县| 邵阳县| 杨浦区| 舞钢市| 夹江县| 砚山县| 潞西市| 当阳市| 成都市| 正安县| 三门县| 霍州市| 奉节县| 牟定县| 开阳县| 奈曼旗| 镇安县| 武定县|