国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP 正則表達式

Hancock_Xu / 734人閱讀

摘要:目前為止,我們前面所用過的精確文本匹配也是一種正則表達式。在中,正則表達式一般由正則字符和一些特殊字符類似于通配符聯合構成的一個文本模式的程序性描述。原子必須是正則表達式的最基本組成單元,而且在每個模式中最少要包含一個原子。

PHP 正則表達式 一、正則表達式簡介

正則表達式是用于描述字符排列和匹配模式的一種語法規則。它主要用于字符串的模式分割、匹配、查找和替換操作。目前為止,我們前面所用過的精確(文本)匹配也是一種正則表達式。

在PHP中,正則表達式一般由正則字符和一些特殊字符(類似于通配符)聯合構成的一個文本模式的程序性描述。

在PHP中,正則表達式有三個作用:1.匹配,常用于從字符串中析取信息 2.用新文本代替匹配文本 3.將一個字符串拆分為一組更小的信息塊

一個正則表達式中至少包含一個原子

二、兩套正則表達式函數庫

PCRE庫(推薦):使用preg_為前綴命名的函數;

POSIX庫:使用ereg_為前綴命名的函數

三、PCRE庫函數
      函數名                        描述
----------------------|--------------------------
preg_match()          |    進行正則表達式匹配
preg_match_all()      |    進行全局正則表達式匹配
preg_replace()        |    執行正則表達式的搜索和替換
preg_split()          |    用正則表達式分割字符串
preg_grep()           |    返回與模式匹配的數組單元
preg_replace_callback |    用回調函數執行正則表達式的搜索和替換
四、使用場景

表單驗證

url_rewrite (url地址重寫)

爬蟲

五、正則表達式的組成部分

1.定界符 (必須)
通常使用特殊字符組成,常用“/”。
2.原子(必須)
是正則表達式的最基本組成單元,而且在每個模式中最少要包含一個原子。原子是由所有那些未顯示指定為元字符的打印和非打印字符組成,具體分為5類。

普通字符作為原子:如a~z,A~Z,0~9。

一些特殊字符和轉義后元字符作為原子: " * + ? .等。

一些非打印字符作為原子:如:f n r t v cx。

使用“通用字符類型”作為原子:如:d D w W s S。

自定義原子表([ ])作為原子:如:"/[apj]sp/"。

3.元字符
4.模式修正符

示例:

# 匹配一個字符a
$pattern = "/a/"; 

# 匹配字符a,如果有返回1,沒有返回0,只能匹配一次。
echo preg_match($pattern, "012344556"); 

# preg_match也可用于判斷
if(preg_match($pattern, "1232423423", $matches)) {
    echo "匹配到了
"; # 并把匹配出來的字符以數組的形式賦值給$matches; # 打印結果:`array(1) {[0] => string(1) "a"}`; var_dump($matches); }else { echo "沒有匹配"; }

元字符匹配:

# 如果只想匹配 `.`,特殊含義的字符要轉義。
$pattern = "/./"

# 匹配非打印字符
$pattern = "/
/"

# 匹配0-9數字
$pattern = "/d/";
# 匹配除了0-9的數組
$pattern = "/D/";

# 匹配數字+大小寫字母+下劃線
$pattern = "/w/";
# 匹配除了數字、大小寫字母、下劃線
$pattern = "/W/";

# 匹配空白符(換行、縮進、空格)
$pattern = "/s/";
# 匹配除了空白符的字符
$pattern = "/S/";

# `*` 代表匹配前面的原子出現0、1、或多次
$pattern = "so*u";
# `+` 代表匹配前面的原子出現1次、或多次
$pattern = "so+u";
# `?` 匹配前面的一個原子出現0次或者1次
$pattern = "hao?sou";

# 匹配除了換行符的任意字符
$pattern = "/./";

# `|`代表或者
$pattern = "/a|b|c/";

# 匹配前面的一個原子恰巧出現n次;
$pattern = "/hao{2}sou/";
# 匹配出現>=2次
$pattern = "/hao{2, }sou/";
# 匹配出現2-5次
$pattern = "/hao{2, 5}sou/";

# `^` 必須以該原子開頭
$pattern = "/^aaa/";

# `$` 必須以該原子結尾
$pattern = "/aaa$/";

# 嚴格模式
# 必須嚴格只能匹配aaa。
$pattern = "/^aaa$/";

# a | b | c
$pattern = "/[abc]/";
# 除了a,b,c
$pattern = "/[^abc]/";

# `()`可以看做一個整體,還可以做反向引用
# 比如要匹配協議頭為http、https、ftp
$pattern = "/(http|https|ftp):///";

# 匹配除了空白符的任意字符
$pattern = "/.*/";

# `.*`貪婪模式
$str = "abcabc";
$pattern = "/.*/";
# `.*?`取消貪婪模式
$pattern = "/.*?/";
或:
$pattern = "/.*/U";

模式修正符:

`i`代表ignore,忽略大小寫
`m`匹配多行
`.`修正.的換行符
`x`忽略正則表達式里面的空白符
`D`取消$對
的忽略

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/29427.html

相關文章

  • PHP 正則達式入門 Getting Started with PHP Regular Expre

    摘要:兼容的正則表達式已經實現了很多使用不同解析引擎的正則函數。中主要有兩個正則解析器一個稱為,另一個稱為兼容正則表達式。在中,每個正則表達式模式都是使用符合格式的字符串。 原文鏈接: Getting Started with PHP Regular Expressions Last-Modified: 2019年5月10日16:23:19譯者注: 本文是面向0正則基礎的phper, 很多...

    zhangke3016 評論0 收藏0
  • PHP 正則達式

    摘要:規范為的縮寫,中文即兼容正則表達式,由開發的庫,為很多現代工具所使用,大多數編程語言的正則表達式也都是集成該規范。接下來本文會對規范的正則表達式作出詳細介紹。正則語法分隔符當使用函數的時候,模式需要由分隔符閉合包裹。 概述 正則表達式(Regular Expression)是一種字符匹配工具,通過構建具有特定規則的模式,和輸入字符串數據進行比較,然后進行匹配、分割、替換等等的相關操作。...

    rozbo 評論0 收藏0
  • PHP/JS 常用的正則達式

    摘要:正則表達式的都是匹配和替換搜索正則表達式要匹配的字符串匹配到的字符串匹配到的個數,沒有匹配到返回下面是例子執行一個正則表達式匹配,非貪婪執行一個全局正則表達式匹配,貪婪執行結果匹配所有僅由有一個單詞組成的科目名輸出結果替換正則表達式要匹 正則表達式的都是匹配和替換 PHP 搜索 preg_match* /** * int preg_match* ( string $pattern ,...

    mikyou 評論0 收藏0
  • PHP/JS 常用的正則達式

    摘要:正則表達式的都是匹配和替換搜索正則表達式要匹配的字符串匹配到的字符串匹配到的個數,沒有匹配到返回下面是例子執行一個正則表達式匹配,非貪婪執行一個全局正則表達式匹配,貪婪執行結果匹配所有僅由有一個單詞組成的科目名輸出結果替換正則表達式要匹 正則表達式的都是匹配和替換 PHP 搜索 preg_match* /** * int preg_match* ( string $pattern ,...

    Simon 評論0 收藏0
  • php實戰正則達式(二):提取html元素

    摘要:在閱讀這篇文章前最好把同系列文章實戰正則表達式一驗證手機號先仔細閱讀一遍。但實際上這樣一個表達式是無法從上面的中提取第一個元素的這里主要的問題是在默認情況下點號字符無法匹配換行符。但是很遺憾,正則表達式中沒有排除型子表達式或者說排除型分組。 這篇文章通過提取html元素介紹了正則表達式中模式修飾符、貪婪匹配與非貪婪匹配、Unicode模式、環視等知識點。在閱讀這篇文章前最好把同系列文章...

    ityouknow 評論0 收藏0
  • PHP正則達式

    摘要:正則表達式是什么是一種字符串處理的工具搜索匹配搜索替換搜索分割功能強大是一種規則正則表達式應用范圍數據驗證數據處理過濾數據查詢各語言都支持正則表達式相關函數正則表達式一個匹配返回匹配結果的次數執行一個全局正則表達式匹配返回匹配結果的次數 正則表達式是什么 是一種字符串處理的工具(搜索匹配、搜索替換、搜索分割) 功能強大,是一種規則 正則表達式應用范圍 數據驗證 數據處理/過濾 數...

    isaced 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<