求一个正则表达式:字符串长6-20位,不能包含汉字,不能包含\/:*?"<>| 头尾不能是空格

 我来答
紫薇参星
科技发烧友

2016-07-20 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3595万
展开全部

正则表达式 ^[^ \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("不匹配");
  }
 }
}

运行结果

不匹配

因为字符串头部有空格

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式