第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Regex前瞻、查找和原子組

Regex前瞻、查找和原子組

倚天杖 2019-06-01 10:50:04
Regex前瞻、查找和原子組我在我的食蟻獸身上發(fā)現(xiàn)了這些東西,但我不知道我能用它們做什么。有人有例子嗎?我可以試著理解它們是如何工作的嗎?(?!) - negative lookahead(?=) - positive lookahead(?<=) - positive lookbehind(?<!) - negative lookbehind(?>) - atomic group
查看完整描述

3 回答

?
達令說

TA貢獻1821條經(jīng)驗 獲得超6個贊

查找是零寬度斷言。他們檢查一個正則表達式(對當前位置的右或左-基于前面或后面),在找到匹配時(基于正還是負)成功或失敗,并丟棄匹配的部分。它們不使用任何字符-后面的正則表達式的匹配(如果有的話)將從相同的光標位置開始。

  • 積極展望:

語法:

(?=REGEX_1)REGEX_2

只有在REGEX_1匹配時才匹配;匹配REGEX_1之后,將丟棄該匹配,并從相同位置開始搜索REGEX_2。

例子:

(?=[a-z0-9]{4}$)[a-z]{1,2}[0-9]{2,3}

REGEX_1是[a-z0-9]{4}$它匹配四個字母數(shù)字字符,后面跟著行尾。
REGEX_2[a-z]{1,2}[0-9]{2,3}它匹配一個或兩個字母,后面跟著兩個或三個數(shù)字。

REGEX_1確保字符串的長度確實是4,但不消耗任何字符,因此REGEX_2的搜索從相同的位置開始?,F(xiàn)在,REGEX_2確保字符串與其他規(guī)則匹配。如果不向前看,它將匹配長度為3或5的字符串。

  • 負前瞻

語法:

(?!REGEX_1)REGEX_2

只有在REGEX_1不匹配的情況下才匹配;在檢查REGEX_1之后,對REGEX_2的搜索將從相同的位置開始。

例子:

(?!.*\bFWORD\b)\w{10,30}$

前瞻部分檢查FWORD在字符串中,如果它找到它,就會失敗。如果它找不到FWORD,前瞻成功,下面的部分將驗證字符串的長度是否介于10到30之間,并且只包含單詞字符。a-zA-Z0-9_

向后看類似于向前看:它只是看在當前光標位置的后面.像javascript這樣的regex版本不支持前瞻性斷言。而大多數(shù)支持它的風格(PHP、Python等)都需要有一個固定長度的前瞻性部分。

  • 原子組基本上在令牌匹配后丟棄/忘記組中的后續(xù)令牌。的示例,請查看此頁。

    原子群


查看完整回答
反對 回復(fù) 2019-06-01
?
慕虎7371278

TA貢獻1802條經(jīng)驗 獲得超4個贊

快速地環(huán)顧四周。
如何區(qū)分前瞻和后視?帶我去2分鐘的旅行:

(?=) - positive lookahead(?<=) - positive lookbehind

假設(shè)

    A  B  C #in a line

現(xiàn)在,我們問B,你在哪里?
B有兩種方案來宣布它的位置:

第一,B前面有A,C有約束
第二,B在C的前面(放眼),后面(看后面)A。

正如我們所看到的,后面和前面的兩個解決方案是相反的。
Regex是解決方案二。


查看完整回答
反對 回復(fù) 2019-06-01
  • 3 回答
  • 0 關(guān)注
  • 677 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號