求一个正则表达式:字符串长6-20位,不能包含汉字,不能包含\/:*?"<>| 头尾不能是空格
1个回答
展开全部
正则表达式 ^[^ \u4e00-\u9fa5\\/:\*\?\"\<\>\|][^\u4e00-\u9fa5\\/:\*\?\"\<\>\|]{4,18}[^ \u4e00-\u9fa5\\/:\*\?\"\<\>\|]$
注意 第一个和第三个\u4e00-\u9fa5前面有一个空格
我给你一个Java语言的例子,你看看吧
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test12 {
public static void main(String[] args) {
String s=" 29as0wq,riwq;w92";
String regex="^[^
\\u4e00-\\u9fa5\\\\/:\\*\\?\"\\<\\>\\|][^\\u4e00-\\u9fa5\\\\/:\\*\\?\"\\<\\>\\|]{4,18
}[^
\\u4e00-\\u9fa5\\\\/:\\*\\?\"\\<\\>\\|]$
";
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(s);
if(m.matches()){
System.out.println("匹配");
}else{
System.out.println("不匹配");
}
}
}
运行结果
不匹配
因为字符串头部有空格
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询