0

java.util.regex.Patternを使用するための適切な正規表現を作成しようとしています

以下に示す正規表現を使用して、次のような文字列を照合しています。feed_user_at_gmail_dot_com_testfile

final static Pattern PATTERN1 = Pattern.compile("feed_(.*)_([^_]*)");

これは期待どおりに機能します。しかし、次のように文字列に一致する別のパターンを作成する必要があります。feed_user_at_gmail_dot_com_testfile_ts_20120413_dot_175531_dot_463

違いは、2番目の文字列が最初の文字列のタイムスタンプ付きバージョンであるということです。これらの2つの文字列は、データベース内のファイル名の例であり、両方を別々に識別する必要があります。上記のように、タイムスタンプ付きのバージョンの_ts_後にDATEが追加されます。DATEのすべてのドットがに変更されます_dot_

ありがとう、ソニー

4

1 に答える 1

1

これはどう:

"feed_(.*)_([^_]*)_ts_[1-9]+(_dot_[1-9]+)*"

またはさらに良いことに、

"feed_(.*)_([^_]*)_ts_[1-9]+(_dot_[1-9]+){2}"

日付に常に正確に2つのドットがある場合。

于 2012-04-14T05:02:51.240 に答える