我有一个正则表达式,用于在一段文本中查找网站地址。这是正常工作,除非地址的最后部分有冒号。
它适用于以下示例: https://stackoverflow.com/questions/ask-a-question并包含整个地址。
然而 https://stackoverflow.com/questions/ask:a-question 在结肠处停下来" a-question"不包括在内。
我刚刚使用的正则表达式是
((https?:\\/\\/([-\\w\\.]+)+(:\\d+)?(\\/([\\w/_\\-\\.\\?\\=\\%\\&]*(\\?\\s{1})?)?)?)?)(?<!\\.)
我也尝试了以下正则表达式,它也像上面一样。
(((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?))|((\d|[1-9]\d|1\d{2}|2[0-4][0-9]|25[0-5])\.){3}
任何帮助都会很棒,谢谢。
答案 0 :(得分:0)
试试这个
(\b(https?|ftp|file):\/\/)?[-A-Za-z0-9+&@#\/%?=~_|!:,.;]+[-A-Za-z0-9+&@#\/%=~_|]