我想解析一个逗号分隔的字符串关键字:// 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'子字符串。 –