正则文件名不允许出现空格,并且不允许出现/ \ " : | * ? < >字符

文件夹名前后不允许出现空格,并且不允许出现/ \ " : | * ? < >字符请问各位伙伴正则怎么写
试了|]">^\s\/:*?"<>|*[^\s\/:*?"<>|]$这个单个字母数字和汉字也会限制,需要的是文件夹名前后不允许出现空格,并且不允许出现/ \ " : | * ? < >字符,单个字母数字和汉字允许


^(?![\s\/\\":|*?<>])[^\s\/\\":|*?<>]{1,254}(?<![\s\/\\":|*?<>])$


这样写试试

正则表达:

/^[^/\\:"*?<>|\s][^/\\:"*?<>|]*[^/\\:"*?<>|\s]$/u


上面这个正则表达式的含义是:

^:匹配字符串的开头
[^/\\:"*?<>|\s]:匹配除了 / \ " : | * ? < > 和空格以外的任意字符
[^/\\:"*?<>|\s]*:匹配零个或多个除了 / \ " : | * ? < > 和空格以外的任意字符
[^/\\:"*?<>|\s]$:匹配除了 / \ " : | * ? < > 和空格以外的任意字符,并且必须出现在字符串的结尾
u:表示启用 Unicode 模式,以支持匹配汉字



如果以上回答对您有所帮助,望采纳~谢谢

可以这样匹配

        String pattern = "[\\u4e00-\\u9fa5\\w]+";
        String text = "这是一句中英文混合的话 hello world 123_";
        Pattern p = Pattern.compile(pattern);
        Matcher m = p.matcher(text);
        StringBuilder s = new StringBuilder ();
        while (m.find()) {
            s.append(m.group());
        }
        System.out.println(s.toString());