四 實戰 常見正規表示式書寫 五 正則工具類開發

2021-09-03 07:42:25 字數 1768 閱讀 3278

正則工具類開發及表單驗證案例

仿smarty簡易模板引擎

.+:匹配除了空格以外的原子一次或者無窮次

.前面的斜槓是轉譯符號

\d+\.\d$,保留兩位小數的正規表示式,如果有三位小數,則不符合規則

\d   匹配任意乙個十進位制數字,即[0-9]

+   匹配1次或者多次其之前的原子,即

因為.是運算子,所以要跟上\進行轉譯,變成小數點

.    匹配除換行符之外的任意字元

\w  匹配任意乙個數字、字母或下劃線,即[0-9a-za-z_]

);//驗證,存放常用的正規表示式

private $returnmatchresult = false;//是否匹配,為false只返回

private $fixmode = null;//存放修正模式

private $matches = array();//匹配的結果陣列

private $ismatch = false;//驗證結果陣列

#2.構造方法

public function __construct($returnmatchresult = false,$fixmode = null)

#3.核心匹配方法

/*** 核心的私有匹配方法,如果內建已有正規表示式,正常使用

* 使用者也可以自己自定義正規表示式

* @param $pattern

* @param $subject

* @return array|bool

*/private function regex($pattern,$subject)

$this->returnmatchresult ?

preg_match_all($pattern,$subject,$this->matches):

$this->ismatch = preg_match($pattern,$subject) === 1;

#匹配結果返回

return $this->getregexresult();

}#4.資料驗證方法

/*** 返回資料的方法

* @return array|bool

*/private function getregexresult()else

}/**

* 切換返回資料的型別

* @param null $bool

*/public function togglereturntype($bool = null)else

}#5.驗證工具類

/*** 中途修改轉換引數

* @param $fixmode

*/public function setfixmode($fixmode)

public function noempty($str)

public function isemail($email)

public function isphone($phone)

}

正規表示式的書寫

由於最近在學習python爬蟲,遇到了繞腦的正規表示式。一般正常的正規表示式非常精煉而且高效,但是當我們過了一段時間後,別人甚至自己再次閱讀自己寫的正規表示式時,甚至仍會犯迷糊,於是藉此機會,我將一些常用的正規表示式書寫規範列寫在下方每個表示式我都會配以例子 import random import...

jmeter正規表示式書寫

在測試過程中,經常會有以下幾種場景,如a介面的返回值,用於b介面中,而且a登陸的賬戶,每次登陸,這個sid值還是變化的。那麼在實際工作中,如何才能a介面中提取引數到b介面中?接下來我們就可以用正規表示式來解決這個問題。場景如下,乙個登陸介面,登陸後要使用該賬號去購買標,買標的時候要使用a的登陸資訊值...

常見正規表示式

d 匹配非負整數 正整數 0 0 9 1 9 0 9 匹配正整數 d 0 匹配非正整數 負整數 0 0 9 1 9 0 9 匹配負整數 d 匹配整數 d d 匹配非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 匹配正浮點數 d d 0...