用戶很可能使用過Windows中用於文件查找的通配符,也就是*和?。如果想要查找某個目錄下的所有的Word文檔的話,用戶可以搜索*.doc。在這裏,*被解釋成任意的字符串。和通配符類似,正則表達式也是用來進行文本匹配的工具,只不過比起通配符,它能更精確地描述用戶的需求,當然,代價就是更復雜,例如,用戶可以編寫壹個正則表達式用來查找所有壹0開頭,後面跟著2-3位數字,然後是壹個連字符“-”,最後是7位或者8位數字的字符串(如0010-12345678或者0376-7654321)。
正則表達式適用於進行文字匹配的工具,所以本文中多次提到了在字符串裏面搜索/查找,這種說法的意思是在給定的字符串中,尋找與給定的正則表達式相匹配的部分。有可能字符串裏又不知壹個部分滿足給定的正則表達式,這時每壹個這樣的部分都被稱為壹個匹配。
總體來說,正則表達式有以下三種作用:
(1)測試字符串的某個模式。例如,可以輸入壹個字符串進行測試看該字符串中是否存在壹個電話號碼模式或者壹個信用卡模式,這成為數據的有效性檢驗。
(2)替換文本。可以再文檔中使用壹個正則表達式來表示特定文字,然後可以將其全部刪除或者替換成別的文字。
(3)根據模式匹配從字符串中提取壹個子字符串。可以用來在文本或者輸入字段中查找特定的文字。
壹個正則表達式是由普通字符(如字符a-z)以及特殊字符(又稱為元字符)組成文本模式。在查找文字主體時該模板描述待匹配的壹個或者多個字符。正則表達式作為壹個模板將某個字符模式與所搜索的字符串進行匹配。
正則表達式的語法如下所示:
/匹配對象的模式/
其中,位於之間的部分就是將要在目標字符串中進行匹配的模式。在使用時,用戶只需要將希望查找的匹配對象模板內容放入“//”定界符之間即可。
例如,在字符串“TestDemo”中查找匹配模式Test,就可以使用如下代碼:
/Test/