美文网首页
常用正则表达式

常用正则表达式

作者: 凯睿看世界 | 来源:发表于2018-12-17 18:01 被阅读0次

规则 正则表达式语法
一个或多个汉字 ^[\u0391-\uFFE5]+邮政编码 ^[1-9]\d{5}
QQ号码 ^[1-9]\d{4,10}邮箱 ^[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\.){1,3}[a-zA-z\-]{1,}
用户名(字母开头 + 数字/字母/下划线) ^[A-Za-z][A-Za-z1-9_-]+手机号码 ^1[3|4|5|8][0-9]\d{8}
URL ^((http|https)://)?([\w-]+.)+[\w-]+(/[\w-./?%&=]*)?18位身份证号 ^(\d{6})(18|19|20)?(\d{2})([01]\d)([0123]\d)(\d{3})(\d|X|x)?

比如,在字符串包含验证时

//查找以Java开头,任意结尾的字符串   
  Pattern pattern = Pattern.compile("^Java.*");   
  Matcher matcher = pattern.matcher("Java不是人");   
  boolean b= matcher.matches();   
  //当条件满足时,将返回true,否则返回false   
  System.out.println(b);   

/文字替换(全部)

Pattern pattern = Pattern.compile("正则表达式");   
Matcher matcher = pattern.matcher("正则表达式 Hello World,正则表达式 Hello World");   
//替换第一个符合正则的数据   
System.out.println(matcher.replaceAll("Java"));  

文字替换(置换字符)

Pattern pattern = Pattern.compile("正则表达式");   
Matcher matcher = pattern.matcher("正则表达式 Hello World,正则表达式 Hello World ");   
StringBuffer sbr = new StringBuffer();   
while (matcher.find()) {   
    matcher.appendReplacement(sbr, "Java");   
}   
matcher.appendTail(sbr);   
System.out.println(sbr.toString());   

验证是否为邮箱地址

String str="ceponline@yahoo.com.cn";   
Pattern pattern = Pattern.compile("[//w//.//-]+@([//w//-]+//.)+[//w//-]+",Pattern.CASE_INSENSITIVE);   
Matcher matcher = pattern.matcher(str);   
System.out.println(matcher.matches());   

去除html标记

Pattern pattern = Pattern.compile("<.+?>", Pattern.DOTALL);   
Matcher matcher = pattern.matcher("<a href="/" mce_href="/""index.html/">主页</a>");   
String string = matcher.replaceAll("");   
System.out.println(string);   

查找html中对应条件字符串

Pattern pattern = Pattern.compile("href=/"(.+?)/"");   
Matcher matcher = pattern.matcher("<a href="/" mce_href="/""index.html/">主页</a>");   
if(matcher.find())   
  System.out.println(matcher.group(1));   
}   

截取http://地址

Pattern pattern = Pattern.compile("(http://|https://){1}[//w//.//-/:]+");   
Matcher matcher = pattern.matcher("dsdsds<http://dsds//gfgffdfd>fdf");   
StringBuffer buffer = new StringBuffer();   
while(matcher.find()){                
    buffer.append(matcher.group());          
    buffer.append("/r/n");                
System.out.println(buffer.toString());   
}   

替换指定{}中文字

String str = "Java目前的发展史是由{0}年-{1}年";   
String[][] object={new String[]{"//{0//}","1995"},new String[]{"//{1//}","2007"}};   
System.out.println(replace(str,object));   
  
public static String replace(final String sourceString,Object[] object) {   
            String temp=sourceString;      
            for(int i=0;i<object.length;i++){   
                      String[] result=(String[])object[i];   
               Pattern    pattern = Pattern.compile(result[0]);   
               Matcher matcher = pattern.matcher(temp);   
               temp=matcher.replaceAll(result[1]);   
            }   
            return temp;   
}   

以多条件分割字符串时

Pattern pattern = Pattern.compile("[, |]+");   
String[] strs = pattern.split("Java Hello World  Java,Hello,,World|Sun");   
for (int i=0;i<strs.length;i++) {   
    System.out.println(strs[i]);   
}   

文字替换(首次出现字符)

Pattern pattern = Pattern.compile("正则表达式");   
Matcher matcher = pattern.matcher("正则表达式 Hello World,正则表达式 Hello World");   
//替换第一个符合正则的数据   
System.out.println(matcher.replaceFirst("Java")); 

/以正则条件查询指定目录下文件

//用于缓存文件列表   
        private ArrayList files = new ArrayList();   
        //用于承载文件路径   
        private String _path;   
        //用于承载未合并的正则公式   
        private String _regexp;   
          
        class MyFileFilter implements FileFilter {   
  
              /**  
               * 匹配文件名称  
               */   
              public boolean accept(File file) {   
                try {   
                  Pattern pattern = Pattern.compile(_regexp);   
                  Matcher match = pattern.matcher(file.getName());                  
                  return match.matches();   
                } catch (Exception e) {   
                  return true;   
                }   
              }   
            }   
          
        /**  
         * 解析输入流  
         * @param inputs  
         */   
        FilesAnalyze (String path,String regexp){   
            getFileName(path,regexp);   
        }   
          
        /**  
         * 分析文件名并加入files  
         * @param input  
         */   
        private void getFileName(String path,String regexp) {   
            //目录   
              _path=path;   
              _regexp=regexp;   
              File directory = new File(_path);   
              File[] filesFile = directory.listFiles(new MyFileFilter());   
              if (filesFile == null) return;   
              for (int j = 0; j < filesFile.length; j++) {   
                files.add(filesFile[j]);   
              }   
              return;   
            }   
      
        /**  
         * 显示输出信息  
         * @param out  
         */   
        public void print (PrintStream out) {   
            Iterator elements = files.iterator();   
            while (elements.hasNext()) {   
                File file=(File) elements.next();   
                    out.println(file.getPath());      
            }   
        }   
  
        public static void output(String path,String regexp) {   
  
            FilesAnalyze fileGroup1 = new FilesAnalyze(path,regexp);   
            fileGroup1.print(System.out);   
        }   
      
        public static void main (String[] args) {   
            output("C://","[A-z|.]*");   
        }  

相关文章

  • 正则表达式与方法

    正则表达式---常用符号 正则表达式--常用函数 正则表达式--常用技巧 代码: 正则表达式的应用举例 1、使用f...

  • 正则表达式

    正则表达式 正则表达式就是记录文本规则的代码 正则表达式常用的元字符 正则表达式常用的限定符 正则表达式举例:这里...

  • Python---正则表达式

    常用正则表达式

  • iOS常用正则表达式(电话、QQ、邮箱等)

    常用正则表达式

  • 正则表达式

    常用正则表达式

  • 正则表达式

    什么是正则表达式?如何创建正则表达式正则表达式常用的方法字符串中的正则表达式常用的正则表达式假设用户需要在HTML...

  • 正则表达式

    用法。常用正则表达式。详细用法 //正则表达式:记录文本规则的代码 //常用的正则表达式的地方:登录,密码等格式的...

  • Python正则表达式

    一 . 正则表达式中常用的字符含义 二 . re模块中常用的功能函数 一 . 正则表达式中常用的字符含义 下...

  • 正则表达式速查表

    常用正则表达式实例:

  • python之正则表达式使用

    正则表达式中常用的字符含义 正则表达式中常用的函数 compile() 编译正则表达式模式,返回一个对象的模式。对...

网友评论

      本文标题:常用正则表达式

      本文链接:https://www.haomeiwen.com/subject/rqbckqtx.html