1. matches() 匹配全部

Pattern p = Pattern.compile("reg");

Matcher m = p.matcher("String");

System.out.println(m.matches());

2:(matches 和find不要一起用,用reset()吐出来)

find()匹配部分

while(m.find()){

SYstem.out.println(m.group());//group() 每次循环 find()匹配到的部分

}

replaceAll() 替代匹配的所有

System.out.println(m.replaceAll("java"));

比replaceAll()更灵活的替换appendReplacement(StringBuffer sb,String yourString);

//把偶数index的java 替换为"猫叔";

StringBuffer sb = new StringBuffer();

int i=0;

while(m.find()){

i++;

if(i%2==0){

m.appendReplacement(sb, "猫叔");

}

}

m.appendTail(sb);

System.out.println(sb);

3.更强大的分组()()式

/*Pattern p2 = Pattern.compile("([\\w[-._.]]+)(@[\\w[\\d]]+\\.[\\w]+)");

Matcher m2 =p2.matcher("-newobj_1@163.com,newobj@163.com,1299291758@qq.com");

while(m2.find()){

System.out.println(m2.group(1));

}*/

4.实际应用(爬email)

...所有以上的内容如下:

package first;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.io.IOException;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class T1 {

/**

* @param args

*/

public static void main(String[] args) {

//认识\s:space, \w: [a-zA-Z_0-9] , \d:[0-9]

//System.out.println(" \r\n\t".matches("\\s{4}"));

//System.out.println("hello sir".matches(".*sir$"));

//System.out.println("newobj@163.com".matches("[\\w[_.]]+@[\\w[_.]]+\\.[\\w[_.]]+"));

/*Pattern p = Pattern.compile("[\\d]{3,5}");

String tt = "123-2345-33333-00-12";

Matcher m = p.matcher(tt);

System.out.println(m.matches());

m.reset();

System.out.println(m.find());

System.out.println(m.find());

System.out.println(m.find());

System.out.println(m.find());*/

//看group(当前匹配的结果)以及repalceAll;

Pattern p = Pattern.compile("java",Pattern.CASE_INSENSITIVE);

String a = "I lova java ,he heats Java, hanmeimei love JAva too , and you about java ?";

Matcher m = p.matcher(a);

//while(m.find()){

//System.out.println(m.group());

//}

//System.out.println(m.replaceAll("java"));

//把偶数index的java 替换为"猫叔";

/*StringBuffer sb = new StringBuffer();

int i=0;

while(m.find()){

i++;

if(i%2==0){

m.appendReplacement(sb, "猫叔");

}

}

m.appendTail(sb);

System.out.println(sb);*/

//看看更强大的group

/*Pattern p2 = Pattern.compile("([\\w[-._.]]+)(@[\\w[\\d]]+\\.[\\w]+)");

Matcher m2 =p2.matcher("-newobj_1@163.com,newobj@163.com,1299291758@qq.com");

while(m2.find()){

System.out.println(m2.group(1));

}*/

//爬email

BufferedReader bfr = null;

try{

bfr = new BufferedReader(new FileReader(new File("D:/大家留下email吧.htm")));

String line ="";

String myemail = "newobj@163.com";

Pattern pemail = Pattern.compile("[\\w_-]+@[\\w\\d]+\\.[\\w]+");

Matcher meail = null;

//meail = pemail.matcher(myemail);

//System.out.println(meail.matches());

while((line=bfr.readLine())!=null){

meail = pemail.matcher(line);

while(meail.find()){

System.out.println(meail.group());

}

}

}catch (Exception e) {

e.printStackTrace();

}finally{

try {

bfr.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

java new object_java 正则相关推荐

  1. java 固定电话正则_java针对电话号码正则匹配实例

    本文实例讲述了java针对电话号码正则匹配的方法.分享给大家供大家参考.具体如下: public interface RegExpConst { /** * 手机号码 * 移动:134[0-8],13 ...

  2. java a标签正则_正则表达式:java中婚配HTML中a标签中的中文字符

    正则表达式:java中匹配HTML中a标签中的中文字符 今天群里一位朋友问到了一个正则表达式的问题,有如下内容: 特432 453543 a1特123你好123吗? 特2 标签中的文字现在要匹配出内容 ...

  3. 【Java正则表达式】正则基本语法、使用方式(分组、替换、分割)、简单爬虫基础

    正则表达式基本语法 笔记扫描版 在Java中使用正则表达式 示例1:一个简单的正则表达式 package cn.hanquan.reg;import java.util.regex.Matcher; ...

  4. 蓝桥杯第八届省赛JAVA真题----正则问题

    描述:正则问题 考虑一种简单的正则表达式: 只由 x ( ) | 组成的正则表达式. 小明想求出这个正则表达式能接受的最长字符串的长度. 例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字 ...

  5. java中的正则matches方法和find方法的区别

    Java 正则表达式里find()方法的使用 package com.zte.st.dailybuild.dao;import java.util.regex.Matcher; import java ...

  6. java 数字范围正则_Java 正则表达式

    正则表达式 概述 正则表达式定义了字符串的模式.正则表达式可以用来搜索.编辑或处理文本.正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别. java.util.regex 包主要包括以下三 ...

  7. java 固定电话正则_JAVA 正则表达式判断手机号码 固定电话、邮编号

    故先要整清楚现在已经开放了多少个号码段,国家号码段分配如下: 移动:134.135.136.137.138.139.150.151.157(TD).158.159.187.188 联通:130.131 ...

  8. java循环object_java怎么循环获取object的属性名和值?object内容如下

    展开全部 用反射.public static void main(String[] args) throws IllegalArgumentException, IllegalAccessExcept ...

  9. java的object_Java中的Object类详细介绍

    理论上Object类是所有类的父类,即直接或间接的继承java.lang.Object类.由于所有的类都继承在Object类,因此省略了extends Object关键字. 该类中主要有以下方法: t ...

最新文章

  1. 内存检测工具Dr. Memory的使用
  2. mysql的api框架_API接口幂等性框架设计
  3. vim常用命令总结 (转)
  4. c语言环境窗口组成,如何搭建C语言环境
  5. mobile web页面调试方法
  6. 故障恢复:一次底层超融合故障导致的异常处理
  7. 苹果watchOS 2引入WatchKit应用,并扩展了硬件支持
  8. 嵌入式学习步骤及方法(精典)
  9. License for package Android SDK Build-Tools 28.0.3 not accepted.
  10. caffe的python接口学习:caffemodel中的参数及特征的抽取(转载)
  11. java change方法作用_程序员必看之Java中方法的参数传递问题
  12. RHEL 6.4 安装DNS服务(bind-9.8 )
  13. 挑战性题目DSCT102:木板切割问题
  14. MUD是永远不会结束的,因为它就是人生(转)
  15. VIBE算法(一)——论文翻译
  16. 傲腾服务器系统,服务器装傲腾内存
  17. 共享计算机无法打开文件,Windows7局域网无法打开共享文件分析
  18. verilog编程,可能你一直在错误地使用计数器cnt
  19. 18款室内设计风格,总有一款适合你。
  20. C++-02、命名空间、构造函数、析构函数

热门文章

  1. python爬虫小项目: 爬取百度贴吧帖子
  2. 【网络流24题】太空飞行计划问题
  3. 张晓飞ajax聊天室,张晓飞-华中师范大学数学学院中文站
  4. 学微服务必经之路——Nacos新手入门(上)
  5. Prometheus部分监控项
  6. D. Epic Transformation
  7. Discuz! Q的搜索引擎优化(SEO)攻略
  8. 2021-2027全球与中国可持续环保家具市场现状及未来发展趋势
  9. AXI_Lite 总线详解
  10. Ubuntu16.04安装中文出现Transaction failed:Package dependencies cannot be resolve16.04d