正则表达式

来源:互联网 发布:中国数据安全法 编辑:程序博客网 时间:2024/06/07 07:19

.    小数点可以匹配出了换行符(/n)以外的任意字符
/W   W大写可以匹配任何一个字母、数字、下划线以外的字符
/w   w小写可以匹配任何一个字母、数字、下划线
/S  S大写可以匹配任何空白字符以外的字符
/s s小写可以匹配空格、制表符、换页符等空白字符中的任意一种
/d d小写可以匹配0~9的数字
/D D大写可以匹配数字以外的任意字符

^     匹配输入字符串的开始位置
$ 匹配输入字符串的结尾位置
() 标记一个子表达式的开始和结束位置
[]  用来自定义能够匹配'多种字符'的表达式 
 例如:[0-9a-zA-Z] 表示这个字符可以是 0 或者 1 或者 a 或者 Z 也可以一个也没有等。可以加上数量限制 [0-9a-zA-Z]+表示它们中的字符至少出现1次
{} 修饰匹配次数的符号 例如:/d{2} 表示连续出现两次数字
? 修饰匹配次数为 0 次或 1 次
+ 修饰匹配次数为至少 1 次
* 修饰匹配次数为 0 次或任意次
| 左右两边表达式之间 "或" 关系

转义字符  /Q.../E   适合用于表达式中需要比较长的普通文本,而其中包含了特殊符号。就是说在/Q.../E之间的特殊字符被注释掉了

刚写的匹配方法
1、判断输入的用户名是否合法
 /**
  * 检测用户名是否符合规范
  * @param str  需要检测的姓名
  * @return  满足规范返回true 否则返回false
  */
 public boolean regexpPwd(String str) {
  String regexp = "^[a-zA-Z0-9_//$@]+[a-zA-Z0-9_//$@]*$";//以数字、字母、下划线或者$开头,只能包含数字数字、字母、下划线或者$
  Pattern p = Pattern.compile(regexp);
  Matcher m = p.matcher(str);
  boolean b = m.matches();
  if(str.length()<6|str.length()>16)//长度在6到16个字符之间
   b=false;
  return b;
 }

2、判断输入的字符是否含有空格
 /**
  * 检测是否含有空格
  * @param str  需要匹配的字符串
  * @return  含有返回true 否则返回false
  */
 public boolean regexpName(String str) {
  String regexp = ".*//s+.*";
  Pattern p = Pattern.compile(regexp);
  Matcher m = p.matcher(str);
  boolean b = m.matches();
  return b;
 } 
 功能总结:用于验证,查询,分割,替换,获取

原创粉丝点击