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

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

正則表達(dá)式'(?<=#)[^#] +(?=#)'如何工作?

正則表達(dá)式'(?<=#)[^#] +(?=#)'如何工作?

我在C#程序中具有以下正則表達(dá)式,并且難以理解它:(?<=#)[^#]+(?=#)我將其分解為我認(rèn)為的理解:(?<=#)    a group, matching a hash. what's `?<=`?[^#]+     one or more non-hashes (used to achieve non-greediness)(?=#)     another group, matching a hash. what's the `?=`?因此,我遇到的問題是?<=and ?<部分。從閱讀MSDN開始,?<name>它用于命名組,但是在這種情況下,尖括號永遠(yuǎn)不會關(guān)閉。我?=在文檔中找不到,搜索起來真的很困難,因?yàn)樗阉饕嫱ǔ雎阅切┨厥庾址?
查看完整描述

3 回答

?
料青山看我應(yīng)如是

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊

正如另一位發(fā)帖人所述,這些是環(huán)視功能,是用于更改匹配內(nèi)容和時(shí)間的特殊構(gòu)造。這說:


(?<=#)    match but don't capture, the string `#`

            when followed by the next expression


[^#]+     one or more characters that are not `#`, and


(?=#)     match but don't capture, the string `#`

            when preceded by the last expression

因此,這將匹配兩個(gè)#s 之間的所有字符。


在許多情況下,先行和后退非常有用。例如,考慮規(guī)則“匹配所有b后跟一個(gè)” a。您的第一次嘗試可能類似于b[^a],但那是不對的:這也將與buin bus或boin相匹配boy,但是您只想使用in b。而且它不會匹配bin cab,即使它后面沒有一個(gè)a,因?yàn)橐矝]有匹配的字符了。


要正確執(zhí)行此操作,您需要先行執(zhí)行:b(?!a)。這表示“匹配一個(gè),b但a之后不匹配,也不要成為匹配的一部分”。因此,它將僅匹配bin bolo,這就是您想要的;同樣,它將與bin 匹配cab。


查看完整回答
反對 回復(fù) 2019-11-18
  • 3 回答
  • 0 關(guān)注
  • 3868 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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