我想解析一個逗號分隔的字符串關鍵字:// pass @ ip:port。 該字符串是逗號分隔的字符串,但密碼可以包含任何字符,包括逗號。因此我無法使用基於逗號作爲分隔符的拆分操作。Python的正則表達式在字符串後得到值
我試圖使用正則表達式來獲取「myserver://」後面的字符串,後來我可以通過使用字符串操作(pass @ ip:port/key1)分割剩餘的信息,但是我無法做到它工作,因爲我無法獲取上述關鍵字後的信息。
MYSERVER://是一個硬編碼字符串,我需要得到什麼如下每個MYSERVER作爲一個逗號分隔的列表(即通@ IP:端口/ KEY1,PASS2 @ IP2:端口2/KEY2等)
這是最接近我可以得到:
import re
my_servers="myserver://password,[email protected]:port/key1,myserver://[email protected]:port2/key2"
result = re.search(r'myserver:\/\/(.*)[,(.*)|\s]', my_servers)
使用搜索我試圖找到發生「MYSERVER://」關鍵字,然後任意字符,並用逗號結尾(意味着它也會跟着MYSERVER :// zzz,myserver:// qqq)或空格(單個myserver://元素的內存,但我不知道如何更好地使用空間作爲結束指示符)。然而,這並不正確。我怎樣才能更好地使用正則表達式?
'myserver'是硬編碼的字符串嗎?你需要獲得'[「密碼,123 @ ip:port/key1」,「pass2 @ ip2:port2/key2」]? –
yes imyserver是一個硬編碼字符串,我需要準確地得到「password,123 @ ip:port/key1」和「pass2 @ ip2:port2/key2」(對於服務器逗號分隔的字符串,或者「pass @ ip:port /鍵「,如果它只包含字符串中的信息)@WiktorStribiżew – heike
請參閱https://ideone.com/JEBXVX - 像這樣? 1)'[['password','123 @ ip:port/key1'],['pass2 @ ip2:port2/key2']]或者2) '['password,123 @ ip:port/key1' ,'pass2 @ ip2:port2/key2']'?對不起,你太冗長了。你的輸入沒有'pass @ ip:port/key1'子字符串。 –