首頁 >後端開發 >PHP問題 >php正規表示式怎麼寫

php正規表示式怎麼寫

王林
王林原創
2019-09-12 17:45:103968瀏覽

php正規表示式怎麼寫

正規表示式時工作中非常常用且作用非常強大的一種技術,但是學起來略顯枯燥。今天,為大家講一下,在php中正規表示式該如何寫?

分隔符號

當使用 PCRE 函數的時候,模式需要由分隔符號閉合包裹。分隔符號可以使任意非字母數字、非反斜線、非空白字元。

常用的分隔符號是正斜線(/)、hash符號(#) 、取反符號(~)。下面的例子都是使用合法分隔符號的模式。

/foo bar/<br>#^[^0-9]$<br># php <br>%[a-zA-Z0-9_-]%

#如果分隔符需要在模式內進行匹配,它必須使用反斜線進行轉義。如果分隔符號經常在 模式內出現, 一個更好的選擇就是用其他分隔符號來提高可讀性。

/http:\/\//<br>#http://#  

#需要將字串放入模式中使用時,可以用 preg_quote () 函數對其進行轉義,它的第二個參數(可選)可以用來指定需要被轉義的分隔符號。

除了上述的分隔符,也可以使用括號樣式的分隔符,左括號和右括號分別作為開始和結束 分隔符。

{this is a pattern}

可以在結束分隔符號後面增加模式修飾符。下面的範例是一個大小寫不敏感的匹配:

#[a-z]#i

<span style="font-size: 20px;">轉義序列</span>

反斜線有多種用法。首先,如果緊接著是一個非字母數字字符,表示取消 該字符所代表的特殊涵義。這種將反斜線作為轉義字元的用法在字元類別 內部和外部都可用。

例如,如果你希望匹配一個 "*" 字符,就需要在模式中寫為 "\*"。這適用於一個字元在不進行轉義會有特殊意義的情況下。但是, 對於非數字字母的字符,總是在需要其進行原文匹配的時候在它前面增加一個反斜線, 來聲明它代表自己,這是安全的。如果要符合一個反斜線,那麼在模式中使用 ”\\”。

例如,我要寫小數點"." ,但是點是  元字元 (有特殊涵義的編碼字元),如果要表示小數點,不讓它代表特殊意義,就需要轉義: "\. " 或[\.]

$lng = 125.97097735211630;<br>

##$pattern = "#^(0|[1-9][ 0-9]*)[\.][0-9]{14}$#"; 

//滿足14位小數位的數字

##preg_match ($pattern, $lng)

#表達式中的反斜線

表達式中的反斜線有多重意義,如轉義、指定預先定義的字元集、定義斷言、顯示不列印的字元。

轉義字元
#轉義字元主要是將一些特殊字元轉換為普通字元。而這些常用特殊字元有”.”,”?”、”\”等。

指定預先定義的字元集

php正規表示式怎麼寫

顯示不可列印的字元

php正規表示式怎麼寫

以上內容僅供參考!

推薦影片教學:

PHP影片教學#

以上是php正規表示式怎麼寫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn