Python 在冒号前后匹配单词
我有以下字符串: 字段-->字段1:\r\n文件D2:\r\n源字段-->键1:VALUE1,键2:VALUE2,键3:VALUE3\r\n 我希望从上面的字符串中获得以下内容:Python 在冒号前后匹配单词,python,regex,Python,Regex,我有以下字符串: 字段-->字段1:\r\n文件D2:\r\n源字段-->键1:VALUE1,键2:VALUE2,键3:VALUE3\r\n 我希望从上面的字符串中获得以下内容: [FIELD1, ] [FIELD2, ] [KEY1, VALUE1] [KEY2, VALUE2] [KEY3, VALUE3] 所以如果值为空,我仍然需要它。它有时是空的,有时不是空的。字段的数量也可能有所不同 我试过: x= 'FIELDS--> FIELD1: \r\n FILED2: \r\nSO
[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(':')
你可以用
re.findall(r'(\w+) *:(?: *([\w.-]+))?', x)
看
详细信息
-第1组:一个或多个单词字符(\w+)
-0个或更多空格和一个*:
:
-一个可选的(?:*([\w.-]+)?
-0或更多空格*
-第2组:一个或多个单词、([\w.-]+)
或
字符-