次のような一連の文字列を考えてみましょう。
Memory size = 4,194,304 KB
Cache size= 32,768 K
Number of cores = 8
Note =4,000,000 KB is less than 4 GB
各文字列に完全に一致し、次のグループを生成する一般的であまり複雑でない Java 正規表現はありますか?
"Memory size", "4,194,304", "KB"
"Cache size", "32,768", "K"
"Number of cores", "8"
"Note", "4,000,000 KB is less than 4 GB"
これらのグループはkey
、value
および (オプション)suffix
です。
追加要件:
- 値 (つまり、'=' の後の部分) は必ずしも数値ではありません
- 「:」の両側にあるスペースは、後戻りせずに一度に削除する必要があります
- 「KB」と「K」の文字列の一致では、大文字と小文字が区別されません
- キャプチャされたグループは常に同じインデックスを持つ必要があります (理想的には、キー/値/サフィックスに 3 つのグループがあり、すべての一致に同じグループ インデックスがあります)。
明らかに、次のような単純な式
([^=]+) *: *([^=]+)
上記の仕様を完全にはカバーしていません。