-1

私が使用しようとしている正規表現は

 String re2="((?:(?:[1]{1}\\d{1}\\d{1}\\d{1})|(?:[2]{1}\\d{3}))[-:\\/.](?:[0]?[1-9]|[1][012])[-:\\/.](?:(?:[0-2]?\\d{1})|(?:[3][01]{1})))(?![\\d])";    // YYYYMMDD 1

しかし、すべてのオカレンスを置き換えようとすると、

string.replaceAll(re2,getDate(dayForward,dateFormat));

動作しません。と、

matcher.appendReplacement(stringBuffer, getDate(dayForward,dateFormat));

最初に出現したもののみを置き換えます。

すべてのオカレンスを置き換える方法はありますか?

4

1 に答える 1

0

結果を別の変数に入れる必要があります。

String replaced = string.replaceAll(re2,getDate(dayForward,dateFormat));

それ以外の場合は、正規表現が正しくないことを意味します。

于 2012-07-25T16:12:39.017 に答える