所以我试图使用正则表达式来验证日期时间的时区部分,仅用于" GMT"或" UTC"部分。有效的String如下所示:
"Wed, 8 Feb 2016 11:20:00 [GMT]"
我尝试过以下但是没有用。我尝试过一系列不同的逃脱序列,但无济于事。
assertTrue(dateTime.getDateTime().matches("Wed, 8 Feb 2016 11:20:00 [\\w{3}]"));
我认为我遇到的问题是由于我需要将方括号视为regEx的一部分。
答案 0 :(得分:3)
您需要转义[]
,因为[]
表示用于查找匹配的列表,因此请使用Wed, 8 Feb 2016 11:20:00 \\[\\w{3}\\]
\\[\\w{3}\\]
\\[
:匹配[
字符
\\w{3}
:匹配3次\\w
,\\w
表示[a-zA-Z0-9_]
\\]
:匹配]
字符
String date= "Wed, 8 Feb 2016 11:20:00 [GMT]";
System.out.println(date.matches("Wed, 8 Feb 2016 11:20:00 \\[\\w{3}\\]"));