解析したい長い文字列があり、特定の位置から1つの特定の値をキャプチャするだけです。文字列は次のようになります(太字の特定の値):
{名前:dave、TaskTime:1503485101000、Log:5 12345678 test-12345 1.1.1.1 2.2.3.3 111 22222 1 11 3456 1503485101 1503485102 TEST CORRECT、InTime:1503485105278、Id:123456789}
主な問題は、グループ内でその値をキャプチャするために1つの正規表現パターンを見つける必要があることです。単一の正規表現を使用してその値を抽出できるRegEXパターンはありますか?誰か提案をお願いできますか?スタックで検索して、いくつかの異なる方法を試しました。私はこれを使用していくつかのフィールドを一致させることができました:(?:|[=\s])(\w{1,})(?=\s|$)
しかし、それは十分ではありません。
この正規表現を試すことができます:
(?<=(?:(?:\d{1,3}\.){3}\d{1,3}\s){2}(?:\d+\s){3})(\d+)
説明:
(?<=(?:(?:\d{1,3}\.){3}\d{1,3}\s){2}(?:\d+\s){3})
2つの連続したIPアドレスとそれに続く3つの番号を見つけるように設計されています。
>>1.1.1.1 2.2.3.3 111 22222 1 <<
そのようなパターンが見つかった場合、次の番号がキャプチャされます。私たちの場合は11です
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加