我输入了以下格式的数据,不是我决定的
key1: value1 key2: value2 key3: value3 key4 { key11: val11 key22: value22 } key5: value5 ............
输入字符串将具有用冒号或大括号分隔的键值。
我想对它进行标记,我有以下想法:首先有一个正则表达式解析数据,直到我找到一个:
或{
优先级{
超过:
然后拆分并读取,直到达到我所说的空白模式并递归遍历整个字符串
我想知道我是否可以编写像 (some_string)(special character pattern) 这样的正则表达式(特殊字符模式可以是:
或{
优先于{
)(字符串的其余部分)
如果它是:
字符串的其余部分,则从“ value1 ”获取字符串部分并捕获它。处理剩余的字符串
如果是{
然后遍历,直到您找到}
并在内部使用:
上面定义的逻辑。
例如
a: 1 b: 2 c { d: 3 e: 4 } f: 5
这应该给
a:1
b:2
c { d: 3 e: 4 }
f: 5