許多程式設計語言都支援利用正則運算式進行字串操作。正則運算式這個概念最初是由 Unix 中的工具軟體(例如 sed 和 grep)普及開的。正規表示式通常縮寫成「regex」,單數有 regexp、regex,複數有 regexps、regexes、regexen。
基本語法 與 運算式全集 可以詳閱維基百科:http://en.wikipedia.org/wiki/Regular_expression
或是大家整理好的資料:
http://matthou666.blogspot.tw/2013/01/php_25.html
https://atedev.wordpress.com/2007/11/23/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%A4%BA%E5%BC%8F-regular-expression/
http://reader.roodo.com/linpapa/archives/8398099.html
常見應用上,以 PHP 製作表單資料後的格式驗證來舉例說明,PHP 使用正規表示法進行驗證時,若搭配 preg_match() 函式來使用,preg_match("/正規表示法的條件字串/","欲驗證的字串"):
<?php
$str = 'a1234';
if (preg_match("/^[a-zA-Z0-9]{4,16}$/", $str)) {
echo "驗證成功";
} else {
echo "驗證失敗";
}
?>
驗證字串是否只含數字與英文,且字串長度在 4~16 個字元之間。
^[a-zA-Z0-9]{4,16}$ 就是 正規表示法的條件字串:
^ 符合輸入字串的開始位置
$ 符合輸入字串的結束位置
{4,16} 比對至少 4 次,至多 16 次
在 PHP 應用中,preg_match() 與 preg_replace() 這兩個函數都是常常被使用到的。
這邊有一篇文章深入淺出地講解了『如何在 PHP 中使用正規表示式』,文章內容包含了 PHP 所支持的兩種正規表示式的實現:POSIX 和 PCRE,與其相關的函數說明:http://inspiregate.com/programming/php/377-how-to-use-php-regular-expression.html
在使用 Linux 作業系統方面,為了主機管理的便利性,使用者至少要能看的懂正規表示法的意義:http://linux.vbird.org/linux_basic/0330regularex.php