确定字符串是不是是Java中带有正则表达式的URL [重复]
Posted
技术标签:
【中文标题】确定字符串是不是是Java中带有正则表达式的URL [重复]【英文标题】:Determine if string is a URL with Regex in Java [duplicate]确定字符串是否是Java中带有正则表达式的URL [重复] 【发布时间】:2011-08-08 23:49:43 【问题描述】:可能的重复:What is the best regular expression to check if a string is a valid URLJava-How to detect the presence of URL in a string.
有没有办法查看一个字符串是否是一个有效的 URL?我正在使用 MIDP 库,并且 MIDP 中没有正则表达式。非常感谢任何帮助。
【问题讨论】:
发帖前请先搜索网站,“java regex url”返回大量有效信息。 请注意,搜索“java regex url”会指导您使用 regex 来检测 URL,但会错过更好的解决方案:从字符串构造 java.net.URL。 如果一切都是完全一样的,那为什么还要回答关于 SO 的任何问题呢? Java.net 不是 java 移动版中的库。 J2ME 没有 Java.Net 库,也不支持 regex 或 String.replaceAll @Edwin:在此类问题的最佳答案中建议了这一点。 【参考方案1】:为什么不直接从字符串中构造一个java.net.URL
并捕获任何可能引发的异常?
String something;
try
URL url = new URL(something);
catch (MalformedURLException e)
// it wasn't a URL
【讨论】:
是否也需要调用.toURI()? @Gaurav 仅当您需要 URI 类型时。如果您只需要一个 URL,那么创建 URL 就可以了。请注意,如果您需要 URL,则创建 URI 不是一个好主意,因为 URI 包含所有 URL 和其他元素(例如,URN),并且任何构建 URN 的人都可能会破坏假定 URI 只是 URL 的代码。请注意,这仅验证格式,但在使用 URL 之前,这就是所有可以验证的内容。以上是关于确定字符串是不是是Java中带有正则表达式的URL [重复]的主要内容,如果未能解决你的问题,请参考以下文章