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

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

Python正則表達(dá)式字符模式組

Python正則表達(dá)式字符模式組

我試圖做一個(gè)正則表達(dá)式模式來匹配字符串中所有A ..組,直到下一個(gè)A。(Python)例如:DFDAXDJSDSJDAFGCJASDJASAGXCJAD到:'AXDJSDSJD''AFGCJ''ASDJ''AS''AGXCJ''AD'我想到的最接近的東西是:string="DFDAXDJSDSJDAFGCJASDJASAGXCJAD"r=re.compile('(A.[!=A]*)+')matchObj = r.findall(string, re.M|re.I)哪個(gè)返回 AF, AS, ASA, AD為什么跳過第一個(gè)?為什么它不返回所有字符直到下一個(gè)A?
查看完整描述

2 回答

?
江戶川亂折騰

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

您可以將字符串拆分為A:


>>> s = "DFDAXDJSDSJDAFGCJASDJASAGXCJAD"

>>> s.split('A')

['DFD', 'XDJSDSJD', 'FGCJ', 'SDJ', 'S', 'GXCJ', 'D']


# add a leading `A` to each match 'on the fly'

>>> [ 'A%s' % s for s in  s.split('A') ]

['ADFD', 'AXDJSDSJD', 'AFGCJ', 'ASDJ', 'AS', 'AGXCJ', 'AD']

或使用可選的正向前行:


>>> re.findall('(A[^A]+(?=A)?)', s, re.IGNORECASE | re.MULTILINE)

['AXDJSDSJD', 'AFGCJ', 'ASDJ', 'AS', 'AGXCJ', 'AD']

或簡(jiǎn)單地(如果您不關(guān)心下一個(gè)A-相當(dāng)于說它是可選的):


>>> re.findall('(A[^A]+)', s, re.IGNORECASE | re.MULTILINE)

['AXDJSDSJD', 'AFGCJ', 'ASDJ', 'AS', 'AGXCJ', 'AD']


查看完整回答
反對(duì) 回復(fù) 2021-03-29
  • 2 回答
  • 0 關(guān)注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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