色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

PHP擴展之文本處理(二)——PCRE正則表達式語法13——條件子組

瀏覽:4日期:2022-09-16 08:41:46

可以使匹配器根據(jù)一個斷言的結果, 或者之前的一個捕獲子組是否匹配來條件式的匹配一個子組或者在兩個可選子組中選擇。 條件子組的兩種語法如下:

(?(condition)yes-pattern)(?(condition)yes-pattern|no-pattern)

如果條件滿足,使用 yes-pattern,其他情況使用 no-pattern(如果指定了)。 如果有超過 2 個的可選子組,會產生給一個編譯期錯誤。

條件一共有兩種。如果在(condition)的括號內是數(shù)字組成的文本, 條件在該數(shù)字代表的(之前的)子組得到匹配時滿足(即使用 yes-pattern)。 考慮下面的模式, 為了使其易于閱讀其中增加了一些空白字符(查看PCRE_EXTENDED?選項)并且將其分為三個部分:?( ( )? [^()]+ (?(1) ) )

模式的第一部分匹配一個可選的左括號,并且如果該字符出現(xiàn), 設置其為第一個子組的捕獲子串。第二部分匹配一個或多個非括號字符。 第三部分是一個條件子組,它會測試第一個子組是否匹配,如果匹配到了, 也就是說目標字符串以左括號開始,條件為TRUE, 那么使用 yes-pattern 也就是這里需要匹配一個右括號。其他情況下, 既然 no-pattern 沒有出現(xiàn),這個子組就不匹配任何東西。換句話說, 這個模式匹配一個沒有括號的或者閉合括號包裹的字符序列。

如果條件式字符串?(R),它在得到對模式或子模式的遞歸調用時滿足。 在”最上級”, 條件總是false。

如果條件不是數(shù)字序列或(R),它就必須是一個斷言。這里的斷言可以使任意的,積極, 消極,正向,后向都是可以的。考慮這個模式, 同樣為了方便閱讀, 增加了一些空白字符,并且在第二行有兩個可選路徑。

(?(?=[^a-z]*[a-z])d{2}-[a-z]{3}-d{2} | d{2}-d{2}-d{2} )

條件式一個正向積極斷言,匹配一個可選的非小寫字母字符序列緊接著一個小寫字母。 換一種說法,它測試目標中至少出現(xiàn)一個小寫字母,如果小寫字母發(fā)現(xiàn), 目標匹配第一個可選分支,其他情況下它匹配第二個分支。 這個模式匹配兩種格式的字符串:dd-aaa-dd 或 dd-dd-dd。aaa 代表小寫字母, dd 是數(shù)字。

標簽: PHP
相關文章:
主站蜘蛛池模板: 香港毛片免费观看 | 亚洲大片免费 | 日本一级毛片高清免费观看视频 | 成人在线免费观看 | 日本视频在线免费观看 | 免费小视频在线观看 | 久久久久久毛片免费播放 | 国产一区二区三区毛片 | 国产成人最新毛片基地 | 伊人蜜桃| 日本一级毛片片在线播放 | 欧美高清不卡 | 久久国产一片免费观看 | 欧美日韩免费一区二区三区 | 国产在线综合一区二区三区 | 中文字幕一区二区三区久久网站 | 亚洲精品成人7777在线观看 | 99精品视频在线视频免费观看 | 欧美视频网站在线观看 | 欧美一级欧美三级 | 一区二区三区免费精品视频 | 国产亚洲国产bv网站在线 | 波多野结衣在线观看一区 | 欧美成人观看免费版 | 国产精品日本 | 67194成人手机在线 | 久久a 热6 | 加勒比一区在线 | 成人三级在线 | α片毛片| 欧美片欧美日韩国产综合片 | 男女性关系视频免费观看软件 | 她也啪在线视频精品网站 | 国产一区二区三区在线免费 | 亚洲黄色小视频 | 美女啪啪网站又黄又免费 | 亚洲欧洲日产国码二区首页 | 成人毛片18女人毛片免费 | 男人天堂成人 | 性精品| 亚洲成a人片在线观看中 |