本文向你介紹了PHP正則表達式函數庫(POSIX 擴展)greedy匹配,我們要注意,在條件子模式以及其它許多 POSIX 擴展正則表達式語法中那些所不被不支持的特性。
PHP正則表達式函數庫學習中的警告:
本類正則表達式並不能安全用於二進制模式。PCRE 函數庫則可以。正則表達式在 PHP 中用來做復雜的字符串操作。支持正則表達式的函數為:
◆ereg()
◆ereg_replace()
◆eregi()
◆eregi_replace()
◆split()
◆spliti()
這些函數都接受一個正則表達式字符串作為其第一個參數。PHP 使用由 POSIX 1003.3 定義的 POSIX 擴展正則表達式。POSIX 正則表達式完整的描述見包含在 PHP 發行包中 regex 目錄下的 man 頁面。可以通過類似 man /usr/local/src/regex/regex.7 的命令來閱讀。
需求:無需外部庫文件就可以加入本擴展模塊的支持。
安裝警告:除非知道自己在做什麼,否則不要改變 TYPE。
要激活 regexp 的支持在配置 PHP 時加上 --with-regex[=TYPE]。TYPE 可以是 system,apache 或 php 之一。默認使用 php。
PHP的Windows 版本已經內置該擴展模塊的支持。您無需加載任何附加的擴展庫即可使用這些函數。我們來看看具體的相關操作:
◆運行時配置:該擴展模塊未定義任何設置指令。
◆資源類型:該擴展模塊未定義任何資源類型。
◆預定義常量:該擴展模塊未定義任何常量。
PHP正則表達式函數的實例:
<?php
// 如果在 $string 中任何地方找到 "abc" 則返回 &true;
ereg ("abc", $string);
// 如果 $string 以 "abc" 開頭則返回 &true;
ereg ("^abc", $string);
// 如果 $string 以 "abc" 結尾則返回 &true;
ereg ("abc$", $string);
// 如果用戶浏覽器是Netscape 2,3或MSIE 3則返回&true;
eregi ("(ozilla.[23]|MSIE.3)", $HTTP_USER_AGENT);
// 將三個空格分隔的單詞放入$regs[1],$regs[2]和$regs[3]中
ereg ("([[:alnum:]]+) ([[:alnum:]]+)
([[:alnum:]]+)", $string,$regs);
// 將<br />標記放到 $string 開頭
$string = ereg_replace ("^", "<br />", $string);
// 將<br />標記放到 $string 結尾
$string = ereg_replace ("$", "<br />", $string);
// 刪除$string中的所有換行符
$string = ereg_replace ("\n", "", $string);
?>
PHP正則表達式函數相關的介紹就向你介紹到這裡,希望對你了解和學習PHP正則表達式函數有所幫助。