我想檢查一個字符串,以確保它以http://開頭,並在網站example.com上。我有這個:匹配特定網址與正則表達式
"^http://\\Bw{3}?\\.example\\.com/*"
它爲什麼不匹配?
我想檢查一個字符串,以確保它以http://開頭,並在網站example.com上。我有這個:匹配特定網址與正則表達式
"^http://\\Bw{3}?\\.example\\.com/*"
它爲什麼不匹配?
試試這個:
^https?://(?:www\.)?example\.com/?.*
確保你逃脫反斜線當您使用此作爲Java中的字符串:
"^https?://(?:www\\.)?example\\.com/?.*
爲正則表達式是什麼地址是...
「http://www.example.com」w不適合,只有這一點。
如果你正在尋找匹配其他example.com字符串,例如
「http://test.example.com」 正則表達式是這樣的
HTTP:// \ w +。 example.com
也許我不明白這個問題,但這是你問的答案。
我的歉意,我沒有看到它是在Java中。正如安德魯黑爾提到的那樣,你必須避開斜線。 – Brandon
Your \ B is cause the problem。您正在搜索兩個字符之間的字符,然後是三個字符
事實上,無法匹配此正則表達式:/\Bw
,因爲您正在搜索一個空字符串,該字符串位於兩個非單詞字符之間,或兩個單詞字符之間,但是您已指定它位於左側的非單詞字符(/
)和右側的單詞字符(w
)之間。
您還在末尾搜索0個或更多正斜槓,而不是正斜槓,後跟0個或多個通配符字符。
嘗試:^http://(?:www\\.)?example\\.com(?:/.*)?
與上述評論相同,此匹配「http://www.example.com」而不是「http:// exampe.com」(不含空格) –
@Jack S.謝謝,編輯。 – Paulpro
^http:\/\/(?:www\.)?example\.com(?:\/.*)?$
此相匹配的 「http:// WWW例如融爲一體。」 而不是:(無空格) –
@Jack S. - 尼斯抓 「HTTP // exampe融爲一體。」!我已經解決了我的答案。 –