将特定网址与正则表达式匹配

时间:2011-07-25 20:43:11

标签: java regex

我想检查一个字符串,以确保它以http://开头,并在example.com网站上。我有这个:

"^http://\\Bw{3}?\\.example\\.com/*"

为什么不匹配?

4 个答案:

答案 0 :(得分:3)

试试这个:

  

^https?://(?:www\.)?example\.com/?.*

在Java中将其用作字符串时,请确保转义反斜杠:

"^https?://(?:www\\.)?example\\.com/?.*

答案 1 :(得分:0)

正则表达式就是地址......

“http://www.example.com”将与之匹配。

如果您希望匹配其他example.com字符串,例如

“http://test.example.com”RegEx就是这样的

的http:// \ W + .example.com的

也许我不明白这个问题,但这就是你所问的问题的答案。

答案 2 :(得分:0)

你的\ B导致问题。你正在搜索两个字符之间的字符,然后是三个字符

事实上,任何东西都不可能匹配这个正则表达式:/\Bw因为你正在搜索一个空字符串,它在两个非单词字符之间或两个单词字符之间,但是你已经指定了它位于左侧的非单词字符(/)和右侧的单词字符(w)之间。

您还可以在末尾搜索0或更多正斜杠,而不是正斜杠,后跟0或更多通配符。

尝试:^http://(?:www\\.)?example\\.com(?:/.*)?

答案 3 :(得分:0)

^http:\/\/(?:www\.)?example\.com(?:\/.*)?$