溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP中元字符的作用是什么

發(fā)布時(shí)間:2021-06-09 16:10:56 來(lái)源:億速云 閱讀:139 作者:Leah 欄目:編程語(yǔ)言

今天就跟大家聊聊有關(guān)PHP中元字符的作用是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

元字符(原子修飾符)

原子數(shù)量修飾符

  • +表示前面的原子出現(xiàn)-次或者多次

  • ?表示前面的原子出現(xiàn)e次或者 1次

  • *表示前面的原子出現(xiàn)B次1次或者多次

  • {m,n}表示前面的原子出現(xiàn)最少H次,最多N次

  • {}表示前面的原子出現(xiàn)指定次

  • {m,}表示前面的原子最少出現(xiàn)次以上

  • 詞邊界修飾符(了解)

什么是詞邊界

  • 可以分割一個(gè)單詞的字符都是詞邊界包括空格,標(biāo)簽符號(hào),特殊字符,字符串的開始和結(jié)束,每行的結(jié)束部分。

  • 不可以當(dāng)做詞邊界的部分就是數(shù)字、字母和_

  • \b表示詞邊界

  • \B表示非詞邊界

字符串邊界修飾符(也就是開始和結(jié)束)

  • 表示以指定的字符開頭的內(nèi)容

  • $表示以指定的字符結(jié)尾的內(nèi)容

  • ^字符串$表示精確匹配某個(gè)字符串多一個(gè)少一個(gè)都是錯(cuò)誤

  • 如果要使用^和$可以匹配每行的開始和結(jié)束部分, 需要使用模式修正符m 視為多行處理。

選擇修飾符

模式單元()

  • 1.改變優(yōu)先級(jí)

  • 2.將多個(gè)原子視為一個(gè)原子,目的是為了使用原子數(shù)量修飾符。

  • 3.將匹配到括號(hào)的內(nèi)容占時(shí)存為內(nèi)存當(dāng)中。

  • 4.如果使用()僅僅為了模擬一個(gè)原子使用原子數(shù)量修飾符,那么可以在括號(hào)的開始處使用? :來(lái)解除存于內(nèi)存的作用。提高效率。

假如我想去匹配一個(gè)內(nèi)容(Google),此時(shí)我們有一個(gè)要求就是,我們剛剛輸出的google的第二個(gè)o可以有也可以沒有,如果我們定義一個(gè)$pattern = '/google/';此時(shí)我們定義完之后,我們進(jìn)行匹配,發(fā)現(xiàn)匹配結(jié)果是成功的(運(yùn)行結(jié)果如下所示),但是當(dāng)我們把第二個(gè)o刪掉,我們的匹配結(jié)果是失敗的,

<?php
//進(jìn)行匹配
$str = $_POST['str'];
//$pattern = '/a/' ;
//調(diào)用正則匹配函數(shù)
$pattern = '/google/';
$result = preg_match($pattern , $str , $match);
echo ' 匹配結(jié)果為: '.$result;
echo '<hr/>' ;
if ( $result){ 
echo '<font color="pink" size="5 ">匹配成功</font>';
}else{
echo '<font color="red">匹配失敗</font>';
}
var_dump($match);
?>

代碼結(jié)果如下:

PHP中元字符的作用是什么

PHP中元字符的作用是什么

此時(shí),如果我們想設(shè)置第二個(gè)o可以有可以沒有,我們就可以在第二個(gè)o后面插入一個(gè)問號(hào)(?表示前面的原子可以出現(xiàn)零次或者是一次),此時(shí)我們?cè)僖淮芜M(jìn)行匹配,會(huì)發(fā)現(xiàn)結(jié)果匹配成功:

<?php
//進(jìn)行匹配
$str = $_POST['str'];
//$pattern = '/a/' ;
//調(diào)用正則匹配函數(shù)
$pattern = '/goo?gle/';
$result = preg_match($pattern , $str , $match);
echo ' 匹配結(jié)果為: '.$result;
echo '<hr/>' ;
if ( $result){ 
echo '<font color="pink" size="5 ">匹配成功</font>';
}else{
echo '<font color="red">匹配失敗</font>';
}
var_dump($match);
?>

代碼結(jié)果如下:

PHP中元字符的作用是什么

PHP中元字符的作用是什么

如果說我們想讓(o)出現(xiàn)一次甚至多次,我們就不能再使用(?)把問號(hào)改為加號(hào)

$pattern = '/goo+gle/';

接著我們運(yùn)行結(jié)果顯示如下:

PHP中元字符的作用是什么

PHP中元字符的作用是什么

看完上述內(nèi)容,你們對(duì)PHP中元字符的作用是什么有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI