为什么此正则表达式在Java中不起作用?

时间:2019-12-08 15:40:55

标签: java android regex

我有这个正则表达式:

\w*Ticket=([^;]*)

提取Cookie值:

Set-Cookie: SammerceTicket=njzOXt9BZ0Kn04ht2JM66Aj5xGKqmYbH/17BwwBA12vMkomyHG57fs4B2nWAh67/JAdzF2TvS5/f9lI/207vpw==; domain=.sammerce.com; path=/; expires=Tue, 07-Jan-2020 14:19:20 GMT; HttpOnly

https://www.freeformatter.com/java-regex-tester.html之类的在线正则表达式测试器中进行测试时,它就像是一种魅力。

但是当在我的Android Java代码中使用以下代码进行测试时:

Pattern pattern = Pattern.compile("\\w*Ticket=([^;]*)", Pattern.MULTILINE);
Boolean isMatch = pattern.matcher("\"Set-Cookie: SammerceTicket=njzOXt9BZ0Kn04ht2JM66Aj5xGKqmYbH/17BwwBA12vMkomyHG57fs4B2nWAh67/JAdzF2TvS5/f9lI/207vpw==; domain=.sammerce.com; path=/; expires=Tue, 07-Jan-2020 14:19:20 GMT; HttpOnly").matches();

我弄错了。为什么它在Android Java中不起作用?

更新:仅当它是具有特定模式的cookie时,我才有兴趣提取cookie的值。其他cookie将被忽略。在这种情况下,当且仅当其名称包含一个单词后跟Ticket时,我才需要提取cookie的值。

0 个答案:

没有答案