亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何捕獲多個重復的組?

如何捕獲多個重復的組?

眼眸繁星 2019-09-26 09:47:52
如何捕獲多個重復的組?我需要捕獲相同模式的多個組。假設我有以下字符串:HELLO,THERE,WORLD我寫了以下模式^(?:([A-Z]+),?)+$我想做的是捕獲每個單詞,這樣第1組是:“ HELLO”,第2組是“ THERE”,第3組是“ WORLD”我的正則表達式實際上只捕獲了最后一個,即“世界”。我正在這里測試我的正則表達式,我想將它與Swift一起使用(也許Swift中有一種方法可以某種方式獲取中間結果,以便我可以使用它們?)更新:我不想使用split。我現在只需要如何捕獲與模式匹配的所有組,而不僅僅是最后一個。
查看完整描述

3 回答

?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

模式中只有一組,您只能在該組中獲得一個準確的結果。如果您的捕獲組被該模式重復(您+在周圍的非捕獲組上使用了量詞),則只會存儲與其匹配的最后一個值。

您必須使用語言的正則表達式實現函數來查找模式的所有匹配項,然后必須刪除非捕獲組的錨點和量詞(并且也可以省略非捕獲組本身)。

或者,展開您的正則表達式,并讓該模式在要獲取結果的每個組中包含一個捕獲組:

^([A-Z]+),([A-Z]+),([A-Z]+)$


查看完整回答
反對 回復 2019-09-26
?
慕后森

TA貢獻1802條經驗 獲得超5個贊

我認為您需要這樣的東西。

b="HELLO,THERE,WORLD"re.findall('[\w]+',b)

在Python3中哪個會返回

['HELLO', 'THERE', 'WORLD']


查看完整回答
反對 回復 2019-09-26
  • 3 回答
  • 0 關注
  • 949 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號