如何使用正则表达式?

时间:2019-02-22 16:01:50

标签: java android regex eclipse pattern-matching

我在Java(Eclipse)中有此Regex:

private final static String GENERALIZED_TIME_PATTERN = "^(?<year>\\d{4})(?<month>\\d{2})(?<day>\\d{2})(?<hour>\\d{2})((?<minute>\\d{2})(?<second>\\d{2})?)?([.,](?<frac>\\d+))?(?<timezone>Z|([+-]\\d{2}(?<tzmin>\\d{2})?))?$";

此代码位于.jar中。它可以在Eclipse上正常工作,并且我可以使用它。

我也想在Android项目中使用此.jar。但是当我使用它时,出现以下错误:

Caused by: java.util.regex.PatternSyntaxException: Syntax error in regexp pattern near index 5:
^(?<year>\d\{4\})(?<month>\d\{2\})(?<day>\d\{2\})(?<hour>\d\{2\})((?<minute>\d\{2\})(?<second>\d\{2\})?)?([.,](?<frac>\d+))?(?<timezone>Z|([+-]\d\{2\}(?<tzmin>\d\{2\})?))?$

我不是Pattern和Regex方面的专家,但据我了解,我必须根据Android Pattern{来代替括号}\

但是\在Java中不被理解为转义字符。它必须是\\

所以我的问题是,如何在Java和Android的Eclipse中使用相同的字符串?也许我不能吗?但是我的.jar是共享的,那么如何实现呢?

0 个答案:

没有答案