国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > regex > 正文

正則表達式實現與或非關系【推薦】

2020-01-20 21:59:38
字體:
來源:轉載
供稿:網友

寫一個正則表達式,要求匹配字符串同時滿足條件A和條件B

我們可以先寫兩個子表達式PatternA和PatternB,分別校驗條件A和條件B。然后結合成一個新的表達式

(?=PatternA)PatternB

例如,當在Windows Server上修改用戶密碼時,一般要求滿足以下要求:

1. 6到256個字符
2. 包括以下四類字符中的至少三類: 數字/小寫字母/大寫字母/其他字符
3. 其它無法用正則表達式校驗的規(guī)則(例如最短密碼修改時間)

我們就可以用以下正則表達式來校驗密碼的合法性(其中藍色和綠色部分分別為PatternA和PatternB):

(?=^.{6,255}$)((?=.*/d)(?=.*[A-Z])(?=.*[a-z])|(?=.*/d)(?=.*[^A-Za-z0-9])(?=.*[a-z])|(?=.*[^A-Za-z0-9])(?=.*[A-Z])(?=.*[a-z])|(?=.*/d)(?=.*[A-Z])(?=.*[^A-Za-z0-9]))^.*

•寫一個正則表達式,要求匹配字符串滿足條件A,但不可滿足條件B

我們可以先寫兩個子表達式PatternA和PatternB,分別校驗條件A和條件B。然后結合成一個新的表達式
(?!PatternB)PatternA

例如,Windows Server的機器名一般要求滿足以下要求(比微軟官方要求有所簡化):

1. 2到15個字符。只能包括: 數字/小寫字母/大寫字母/減號
2. 不能全部為數字

我們就可以用以下正則表達式來校驗機器名的合法性(其中藍色部分分別為PatternB,綠色部分為PatternA):

^(?!^/d*$)([a-zA-Z0-9-]{2,15})$

•寫一個正則表達式,要求匹配字符串或者滿足條件A或者滿足條件B

我們可以先寫兩個子表達式PatternA和PatternB,分別校驗條件A和條件B。然后結合成一個新的表達式
(PatternA|PatternB)

例如在非必須填的電話號碼域中,用戶可以輸入一個合法的電話號碼,也可以留空

我們就可以用以下正則表達式來校驗機器名的合法性(其中藍色部分分別為PatternB,綠色部分為PatternA):

(^$|/d{7,16})

注意:行起始符(^),行終止符($)和非貪婪標志(?)在這里的使用非常重要。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 资阳市| 垣曲县| 鄂州市| 奇台县| 秦皇岛市| 堆龙德庆县| 唐海县| 余庆县| 克什克腾旗| 长葛市| 旅游| 涟水县| 仙游县| 波密县| 阿尔山市| 当阳市| 南充市| 蓬安县| 福安市| 渑池县| 乐业县| 公安县| 庄浪县| 长宁区| 夏河县| 江永县| 南通市| 鄱阳县| 额敏县| 翼城县| 大兴区| 卢龙县| 唐山市| 辽源市| 聂拉木县| 大新县| 高碑店市| 湘潭县| 合山市| 临沧市| 拜泉县|