我有以下字符串: “字段–>字段1:\ r \ n字段2:\ r \ nSOURCEFIELDS-> KEY1:VALUE1,KEY2:VALUE2,KEY3:VALUE3 \ r \”
我想要上述字符串中的以下内容:
[FIELD1, ]
[FIELD2, ]
[KEY1, VALUE1]
[KEY2, VALUE2]
[KEY3, VALUE3]
因此,如果该值为空,我仍然想要该值。有时它将为空,而有时则不会。字段的数量也可能会有所不同。
我尝试过:
x= 'FIELDS--> FIELD1: \r\n FILED2: \r\nSOURCEFIELDS--> KEY1: VALUE1, KEY2: VALUE2, KEY3: VALUE3\r\n'
x.split(':')
答案 0 :(得分:2)
您可以使用
re.findall(r'(\w+) *:(?: *([\w.-]+))?', x)
请参见regex demo。
详细信息
(\w+)
-第1组:一个或多个单词字符 *:
-0个或多个空格和一个:
(?: *([\w.-]+))?
-的可选序列
*
-0个或更多空格([\w.-]+)
-第2组:一个或多个单词,.
或-
字符。