国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 新河县| 济宁市| 崇州市| 益阳市| 玉田县| 安仁县| 彰化县| 犍为县| 中超| 辽源市| 大新县| 万全县| 吉隆县| 东丰县| 天气| 招远市| 嘉鱼县| 天全县| 河曲县| 白朗县| 松滋市| 辽源市| 遵义县| 汨罗市| 定兴县| 涿州市| 邯郸市| 沽源县| 台北市| 霍林郭勒市| 鄂尔多斯市| 崇左市| 新宁县| 蒙城县| 河南省| 泰州市| 富源县| 科技| 汨罗市| 湘潭县| 岑巩县|