java - 如何验证 URN?

标签 java

验证字符串是否有效的最简单方法是什么 URN

编辑 使用 URI 不是正确的解决方案! URI 可以包含各种 URN 不能包含的内容,比如 &

最佳答案

如果你只需要验证它,你可以使用正则表达式。以下将仅匹配符合 RFC2141 的 URN:

import java.util.regex.Pattern;

public class UrnTest {
    public static final Pattern URN_PATTERN = Pattern.compile(
        "^urn:[a-z0-9][a-z0-9-]{0,31}:([a-z0-9()+,\\-.:=@;$_!*']|%[0-9a-f]{2})++$",
        Pattern.CASE_INSENSITIVE);


    public static void main(String[] args) throws Exception {
        for(String urn : args) {
            boolean isUrn = URN_PATTERN.matcher(urn).matches();
            System.out.println(urn+"  :  "+(isUrn ? "valid" : "not valid"));
        }
    }
}

关于java - 如何验证 URN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5492885/

相关文章:

java - 拆分日期/时间字符串

java - Parent POM.xml 驻留在哪里

java - Jackson 将字符串列表反序列化为字符串

java - 如何在java中构建缓冲区来合并图像

java - 在 Java 中使用 Azure 服务总线

java - 如何将新条目添加到现有 XML 文件(DOM 除外)

java - Spring boot - 循环bean依赖问题

java - 如何通过自定义相机 Activity 从白色圆圈覆盖中获取图像?

java - 仅使用实例角色从 Java 应用程序向 SES 发送邮件

java - Java EE 中对象的引用。远程和本地接口(interface)的区别?