2017-07-16 17 views
0

に私の正規表現を外国の文字にマッチする:正規表現のURL

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

これまでのところ、この正規表現は、文字列内のURLと一致します。しかし、URLにキリル文字やその他の言語文字が含まれていると、これは失敗します。

+0

すぎキリル文字を含むURLのために正常に動作します:[すべての言語間での特殊文字のための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