Medicare Eligibility EDI Example Responsesは、私が一致させようとしているものです。
次のような文字列があります。
LN:SMITHbbbbbbbbFN:SAMANTHAbbBD:19400515PD:1BN:123456PN:9876543210GP:ABCDEFGHIJKLMNOID:123456789012345bbbbbPC:123PH:8005551212CD:123456PB:123ED:20060101TD:2070101LC:NFI:12345678FE:20070101FT:20080101
次のような一致のセットが必要です。
キー | キー | 価値 ------------------- LN | スミスbbbbbbbb FN | サマンサbb BD | 19400515 ...など
私は一日中これに対処してきましたが、許容できるマッチング シナリオが得られないようです。forループを使用して手続き的にプログラムし、何かわからない場合はコロンのインデックスを見つけようとしています。
否定先読みを使用してみましたが、どこにも行きません。これは C# であり、テスト中にこのテスター(.Net) を使用しています。また、Regex Coach (非 .Net) も使用しています。
私はこれを使ってみました:
([\w]{2})\:(?![\w]{2}\:)
ただし、それは「LN:」、「FN:」などのキーとそのコロンのみに一致します。
私が使用する場合:
([\w]{2})\:(.+?)([\w]{2})\:
次の一致する 2 文字のキーとコロンも消費するため、他のすべてのキーと値のペアのみが一致します。
.Net で RegEx を使用してこれらを正しく一致させる方法はありますか? キーが常に大文字であるとは限りません。数字を含めることもできますが、常に 2 文字の後にコロンが続きます。
私が得ることができる助けを前もって感謝します。