私が決めたのではなく、次の形式でデータを入力しました
key1: value1 key2: value2 key3: value3 key4 { key11: val11 key22: value22 } key5: value5 ............
入力文字列には、コロンまたは中かっこで区切られたキー値が含まれます。
私はそれをトークン化したいのですが、次の考えがあります。最初に、:
or{
が見つかるまでデータを解析する正規表現{
を持つ:
次に、私が言った空白パターンに到達するまで分割して読み取り、文字列全体を再帰的にトラバースします
(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