A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 汪磊 中级黑马   /  2012-12-10 10:53  /  1795 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我看了很多.NET相关书上都没有 提正则表达式!  他属于哪方面的呢?

2 个回复

倒序浏览
lz你好,我对它了解一点就跟你说说吧
正则主要用于验证一些字符是否与我们期待的格式相匹配,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。
例如我们注册用户的时候,要是填写邮箱的话,咱们程序要严格控制用户不能只是非null就行了、必须XXX@.com/cn/gov之类的、
这个正则表达式大概是这么用的,看下边代码。
如果跟正则匹配错了,就不让他注册,告诉他邮箱格式不正确。
不过正则也不太容易写出来,要自己好好认真学习一下,网上资源很多的。
代码:
  1. import java.io.*;
  2. public class CheckEmail
  3. {  
  4.         public static boolean checkEmail(String email)
  5.                 {// 验证邮箱的正则表达式
  6.                         String format = "\\p{Alpha}\\w{2,15}[@][a-z0-9]{3,}[.]\\p{Lower}{2,}";
  7.                         //p{Alpha}:内容是必选的,和字母字符[\p{Lower}\p{Upper}]等价。如:200896@163.com不是合法的。
  8.                         //w{2,15}: 2~15个[a-zA-Z_0-9]字符;w{}内容是必选的。 如:dyh@152.com是合法的。
  9.                         //[a-z0-9]{3,}:至少三个[a-z0-9]字符,[]内的是必选的;如:dyh200896@16.com是不合法的。
  10.                         //[.]:'.'号时必选的;        如:dyh200896@163com是不合法的。
  11.                         //p{Lower}{2,}小写字母,两个以上。如:dyh200896@163.c是不合法的。
  12.                         if (email.matches(format))
  13.                                 {
  14.                                         return true;// 邮箱名合法,返回true
  15.                                 }
  16.                         else
  17.                                 {
  18.                                         return false;// 邮箱名不合法,返回false
  19.                                 }
  20.                 }
  21.                
  22.         public static void main(String[] args) throws Exception
  23.         {
  24.                 String email = "cc**365@163.com"; // 需要进行验证的邮箱
  25.                  while(true)
  26.                 {
  27.                          email = new BufferedReader(new InputStreamReader(System.in)).readLine();
  28.                         if (CheckEmail.checkEmail(email))// 验证邮箱
  29.                         {            
  30.                                 System.out.println(email+"\n是合法的邮箱名。");
  31.                         }
  32.                         else
  33.                         {
  34.                                 System.out.println(email+"\n不是合法的邮箱名。");
  35.                         }
  36.                 }
  37.         }
  38. }
复制代码
回复 使用道具 举报
字符串里边的内容 是一套规则吧,用于判断其他的元素符合他 书上就是这样说的。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马