溫馨提示×

溫馨提示×

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

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

如何通過PHP自帶的服務(wù)器來查看正則匹配結(jié)果

發(fā)布時間:2021-09-02 14:23:12 來源:億速云 閱讀:186 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下如何通過PHP自帶的服務(wù)器來查看正則匹配結(jié)果,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

眾所周知,PHP代碼需要web服務(wù)器來執(zhí)行,要測試PHP代碼就得搭建一個web服務(wù)器,這就給我們平時學(xué)習(xí)帶來了較多不便。不過好在PHP v5.4版本以后,PHP會自帶一個功能簡單的web服務(wù)器。

啟動內(nèi)置web服務(wù)器

首先,進入自定義的web文件夾,然后啟動內(nèi)置web服務(wù)器:

cd ~/public_html
php -S localhost:8000

端口號8000是自定義的,換成其他未使用端口均可。

啟動后,控制界面如下所示:

如何通過PHP自帶的服務(wù)器來查看正則匹配結(jié)果

測試內(nèi)置服務(wù)器

在public_html文件夾下建立test.php,

<?php
phpinfo();
?>

然后在瀏覽器中訪問localhost:8000/test.php,應(yīng)該就可以看到php的信息頁面:

如何通過PHP自帶的服務(wù)器來查看正則匹配結(jié)果

正則匹配
我們來看下PHP進行正則匹配的一個簡單例子:

<?php
$subject = 'abc3def';
$pattern = '/c\dde/';
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?>

可以通過PHP的內(nèi)置web服務(wù)器來查看運行結(jié)果,不出意外的話你可以看到如下輸出,

Array
(
  [0] => Array
  (
    [0] => c3de
    [1] => 2
  )
)

接下來我們來仔細分析這個代碼。

preg_match函數(shù)

preg_match函數(shù)的原型是int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )。其中pattern即為正則表達式,subject是被匹配的字符串,后面的都是可選參數(shù)。代碼中的PREG_OFFSET_CAPTURE即為flags值,作用就是將匹配結(jié)果的偏移量同匹配結(jié)果一起輸出至matches變量中,默認只將匹配結(jié)果輸出至matches中。關(guān)于該函數(shù)的詳細說明,請參看preg_match官方文檔。

正則表達式

代碼中的‘/c\def/'即為正則表達式,在大多數(shù)程序中,正則表達式都被置于兩個正斜杠之間。\d表示匹配數(shù)字,因此代碼中的正則表達式匹配的是c數(shù)字def的字符串。關(guān)于正則表達式的更多語法,可以參看正則表達式30分鐘入門教程。這里順便提一點,正則表達式的第二個斜杠之后可以添加一個模式修飾符。最簡單的模式修飾符就是i,匹配時忽略大小寫。例如,正則表達式/def/匹配字符串a(chǎn)bcDef會失敗,而/def/i匹配字符串a(chǎn)bcDef則會成功。更多的模式修飾符可參看模式修飾符。

print_r函數(shù)

print_r函數(shù)打印一個變量易于理解的信息。不同于print和echo只能打印字符串、整型等普通變量,print_r還可以打印array變量以及object變量,并以易于理解的格式輸出。講到這再延伸講下,PHP中還有一個經(jīng)常會用到的打印信息的函數(shù),就是var_dump函數(shù)。正如函數(shù)的名稱一樣,這個函數(shù)經(jīng)常在調(diào)試下使用,除了能打印變量的值,還能打印變量的類型。

以上是“如何通過PHP自帶的服務(wù)器來查看正則匹配結(jié)果”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

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

php
AI