2017-07-16 57 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