正则表达式(提取key/value对)
Regular expression (extract key/value pairs)
我正在尝试从字符串中提取 key/value 对的列表(匹配项)。例如:
PATH_1:"/", PATH_2:"/OtherPath", TODAY:"2016-06-27",XYZ :"1234"
这应该给出:
Key Value
PATH_1 /
PATH_2 /OtherPath
TODAY 2016-06-27
XYZ 1234
这是我目前掌握的正则表达式:
((?:"[^"]*"|[^:,])*):((?:"[^"]*"|[^:,])*)
除了当我添加一个带有“\”的路径时,这很好用。例如:
PATH_1:"c:\", PATH_2:"c:\OtherPath", TODAY:"2016-06-27"
我不知道如何指示正则表达式在双引号序列中找到时跳过分号。希望有人能帮助我。
PS : 我正在使用 QT。
此致,
https://regex101.com/r/vB1rS1/2
如果要删除引号,似乎只需从最后一个 []
中删除 :
即可。
((?:"[^"]*"|[^:,])*):((?:"[^"]*"|[^,])*)
我正在尝试从字符串中提取 key/value 对的列表(匹配项)。例如:
PATH_1:"/", PATH_2:"/OtherPath", TODAY:"2016-06-27",XYZ :"1234"
这应该给出:
Key Value PATH_1 / PATH_2 /OtherPath TODAY 2016-06-27 XYZ 1234
这是我目前掌握的正则表达式:
((?:"[^"]*"|[^:,])*):((?:"[^"]*"|[^:,])*)
除了当我添加一个带有“\”的路径时,这很好用。例如:
PATH_1:"c:\", PATH_2:"c:\OtherPath", TODAY:"2016-06-27"
我不知道如何指示正则表达式在双引号序列中找到时跳过分号。希望有人能帮助我。
PS : 我正在使用 QT。
此致,
https://regex101.com/r/vB1rS1/2
如果要删除引号,似乎只需从最后一个 []
中删除 :
即可。
((?:"[^"]*"|[^:,])*):((?:"[^"]*"|[^,])*)