私はこの種の文字列を持っています:
string = '
something .... something else ...
url="/transfer/packages/00000000-0000-0000-0000-000000000000/connectors/68f74d66-ca3d-4272-9b59-4f737946b3f7/something/138bb190-3b12-4855-88e2-0d1cdf46aeb5/...../...../...../...../...."
other things ...
'
CR/LF がなければ、すべてが 1 行に表示されます。
次のような正規表現を作成したい:
- URLがで始まる場合のみ
/transfer/packages/
- 後続の各 GUID をキャプチャします
- 引用符で囲まれた文字列の終わりまで
"
- 検出される GUID の数は不明であり、少なくとも 1 つである
これまで私は書いた:
\/transfer\/packages\/[^"]*([A-Za-z0-9]{8}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{12})"
ただし、LAST GUID のみをキャプチャします。/transfer/packages/
プレフィックスを再利用し、プレフィックスから移動することなく、検索を毎回熱心に拡張してマッチングを維持する方法が必要です。