速度模板中的正则表达式无效

时间:2013-06-06 05:58:09

标签: regex velocity

我正在使用以下正则表达式来检查字符串是以http(s)还是www.

开头的
#if($message.matches(".*(https?://|www\t.).*"))

如果字符串以httphttps开头但在www.

上失败,则此条件为真

任何人都可以告诉我我做错了什么。

上述条件适用于

http://www.google.com
https://education.10gen.com
http://www.youtube.com

并且

失败
www.google.com
www.youtube.com

1 个答案:

答案 0 :(得分:2)

(https?://|www\t.)

这里有一个t,这是一个错误。

(https?://|www\.)

如果在反斜杠表示转义的字符串类型中使用它,则必须将反斜杠加倍,以便在正则表达式引擎读取它时将其转义为一个反斜杠:

(https?://|www\\.)