0
這裏PHP正則表達式的preg_match是模式:出不尋常的行爲
$urlpattern = '%[^http://][^https://][\w]+(-[\w]+)*(\.[\w]+(-[\w]+)*)*\.[\w]{1,6}(\.[\w]{1,6})*[^/]%';
我曾經遇到過一個奇怪的錯誤,我博格爾斯。
當我搜索對一個字符串像'power-tool-world.com'
它GIMPS它並返回'ower-tool-world.com'
(去除P),但是當我使用任何其他字母(在其他字母未測試),它工作正常,所以'cower-tool-world.com'
回報'cower-tool-world.com'
能有人幫我明白爲什麼,但更重要的是給我一個不會導致這個問題的解決方案?
不完全。 '[^ http://]'匹配除* h,t,p,:或/之外的任何字符。當然'^(https?://)?'是更好的選擇。 –
不,儘管你可能在正確的軌道上,但你的解決方案返回一個錯誤,說power-tool-world.com不匹配 –
你的觀點是有道理的,因爲兩者都返回相同的東西,但什麼是正確的解決方案? –