文件夹名前后不允许出现空格,并且不允许出现/ \ " : | * ? < >字符请问各位伙伴正则怎么写
试了|]">^\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());