0

次の形式の文字列があります。一致すると、regex.macth 静的メソッドがかなり速く実行されます。ただし、多くの場合、一致しない文字列があり、いくつかのシナリオを実行していて、バックトラッキングに入り、regex.match が終了しないようです。フィールドが順番どおりに配置されておらず、一部のフィールドが存在しなかった特定のケース。私は正規表現を使用する必要があり、誰かがヒントを持っているかどうか疑問に思っていましたか? また、インスタンス 7 のいくつかのグループ値のみを取得しています。データは上記のように見えます。正確に一致する場合、問題なく実行されます。たとえば、100 百は問題なく、満足しています。フォーマットが異なる可能性がある場合たとえば、最後の4つのフィールドなどの一部のフィールドが存在しないか、一部のフィールドの順序が異なります。このregex.matchでは、永久に実行されます。

4

2 に答える 2

1

次のようなものを使用して、個々のフィールド名と値を一致させることができます。

(\w+)\s+([^}\s]*)

それらをに集めてDictionary、そこから作業します。

于 2012-06-18T22:35:07.823 に答える