やりたい正規表現検索に行き詰まっています。次のリストがあるとします (改行に注意してください)。
Iowa
Big Store
5 Washington Blvd W.
555-123-456
Market 42
721 23th St. S
555-789-123
New York
Cool Café
23 5th Ave.
123-456-789
Colorado
Pet Shop
1225 Hot St. N.
654-897-215
Discount Inn
25 Lincoln Rd.
456-987-321
Location 6
Address 6
Telephone 6
そこで、\n (改行) を使用して最初に州をキャプチャし、次に次のすべての場所と住所と電話番号をキャプチャすることにしました。これは私の最後の作業反復です:
(\n{3}(.*)(?:\n{2}(.*)\n{1}(.*)\n{1}(.*)))
そこにあるこの美しさは、すべての州とそれぞれの後に最初の場所のみをキャプチャするため、「+
非キャプチャ グループの最後に a を追加すると、残りの場所を取得する必要がある」と考えました。このような:
(\n{3}(.*)(?:\n{2}(.*)\n{1}(.*)\n{1}(.*))+)
うそ。そうではありませんでした。壊れるだけです。
私はそれを間違っていますか?州間のすべての場所をキャプチャするにはどうすればよいですか?
私の目的は、次のように、各グループを配列に集めることです。
locations[0][0][0] -> 'Big Store'
locations[0][0][1] -> '5 Washington Blvd W.'
locations[0][0][2] -> '555-123-456'
...
locations[1][0][0] -> 'Cool Café'
locations[1][0][1] -> '23 5th Ave.'
locations[1][0][2] -> '123-456-789'
または類似。
ありがとう!