私はJavaでAWS SDKを使用しています.S3サーバーにあるバケット/オブジェクトをダウンロードするクラスを作成しました。パターンとマッチャー:ファイル検索のパターンと文字列を連結する方法
私が今必要とするのは、ワイルドカードやパターンを追加するパターン(「reports」という名前の文字列など)を作成することです。私が作ってみただけの事はそうのようなパターンマッチャー変数を作成することです:
Pattern p = Pattern.compile("[a-zA-Z][0-9]");
Matcher m = p.matcher(prePattern);
ObjectListing s3ObjectList = s3client.listObjects(new ListObjectsRequest()
.withBucketName(bucketName)
.withPrefix(m + "reports"));+
私もやった私は何をしようとしているとか、あればよりよい解決策があるかどう誰も私に教えてくださいすることができそれは適切ですか?
ありがとうございます!
新コード:
String bucketName = "blabla";
String prePattern = "^[a-z0-9_-]{1,30}$";
String prefixPat = " -- Insert Pattern Here -- ";
ArrayList<String> objPrefix = new ArrayList();
Pattern p = Pattern.compile(prePattern);
Matcher m = p.matcher(prefixPat);
for(int i=0; i<= objPrefix.size(); i++)
{
objPrefix.add(m + "reports");
ObjectListing s3ObjectList = s3client.listObjects(new ListObjectsRequest()
.withBucketName(bucketName)
.withPrefix(objPrefix.get(i)));
}
思考君たち?それは本当に感謝します。ありがとう!
どちらが優れているの? –
Matcherオブジェクトを作成していますが、実際に使用する代わりに、MatcherオブジェクトをStringに変換しています。それは決して正しいとは限りません。 –
私は参照してください。どのように私がこれに違ってアプローチすべきかについての示唆はありますか?私は "レポート"の前に行くパターンを作る必要があります。 –