2017-07-16 27 views
0

我的正則表達式:正則表達式匹配外文字符的網址

\\b((?:https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]) 

到目前爲止,這正則表達式中的字符串URL匹配。但是當url包含西裏爾字母或其他語言字符時,這會失敗。

+0

看到這個網址工作正常:[Java的正則表達式在所有語言的特殊字符(https://stackoverflow.com/questions/32188164/java-regular-特殊字符跨越所有語言的表達式) –

回答

0
"(^(ht|f)tp(s?)://[0-9a-zA-Z\\p{L}][-.\\w\\p{L}]*(:[0-9])*(/?)([a-zA-Z0-9-.?,:'/\\\\+=&%$#_\\[\\]@!()*;~\\p{L}]*)?$)" 

這包含西里爾字符太

+0

'\ p {L}'包含'[a-zA-Z]',並且您錯過了'file'協議。 – Toto