java正则表达式学习笔记

原创 2013年12月04日 09:44:56
"a".matches("[abc]");        //true
"A".matches("[a-z[A-Z]]");   //true
"R".matches("A-Z&&[RFG]");   //false

Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaab");
bollean b = m.matches();

boollean b = Pattern.matches("a*b","aaaaab");

 Matcher类对正则表达式的操作功能比较强大,但是没有构造方法,只能通过Pattern这个类来获取,一般采用的方法是
Matcher matcher = pattern.matcher("需要检查的字符串");
由于Pattern对象也没有构造方法,一般采用“预编译”方式来得到,这样做的目的是可以加快运行速度
Pattern p = Pattern.compile("正则表达式");

Matcher 类
matches()匹配整个字符串

find()找匹配模式的“子字符串”,找到之后会将匹配的去掉

如果matches()与find()一起使用,则最好是搭配reset()方法一起使用

lookingAt()每次“从头”开始找

一定要能找到子串,否则会报错
start()与end()方法对应,返回匹配的索引


正则表达式的分组?
分组是用小括号区分开的
组号——匹配整体正则表达式中的其中某一部分
从左往右数,第一个小括号为第一组,第二个小括号为第二组,依次往后推算

 

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test {
	public static void main(String[] args) {
		Pattern p = Pattern.compile("(\\d{3,5})([a-z]{2})");
		String s = "123aa-3434bb-234cc-00";
		Matcher m = p.matcher(s);
		//分组查找是找出满足全部正则表达式的条件中之后再进行“局部”筛选
		while(m.find()){
			System.out.println(m.start());
		//打印出满足p模式中的分组1——只有数字
			System.out.println(m.group(1));
			System.out.println(m.end());
		}
	}
}

  

java正则表达式学习笔记

  • 2013年07月21日 21:36
  • 22KB
  • 下载

[Java] 学习笔记一(String,for循环,多线程,正则表达式,map用法)

StringString.equals (String) 判断两个字符串对象的内容是否相同。 值得注意的是,String.equals与’==’操作不同。前者比较的是两者的内容是否相同,而后者比较...

【黑马程序员】 学习笔记 - Java正则表达式

----------------------android培训、java培训、期待与您交流!---------------------- Java正则表达式 一  概述: 1.概念: 正则表...
  • arp1991
  • arp1991
  • 2013年11月18日 00:13
  • 458

黑马程序员 java学习笔记 Day8:正则表达式

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------  正则表达式 1、概述         1、 概念:符合一...

黑马程序员_java自学学习笔记(十)----正则表达式

黑马程序员_java自学学习笔记(十)----正则表达式 android培训、java培训、期待与您交流!         一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元...

Java正则表达式学习笔记,分离网页邮件地址的蜘蛛程序

1.  用途 正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。 2.  使用Pattern和M...
  • MyTroy
  • MyTroy
  • 2014年08月06日 14:36
  • 901

Java学习笔记(九)--Calendar类 正则表达式

Calendar类1.Calendar(日历类):获取年,获取月,获取日,获取时,获取分,获取秒。 2.public int get(int field):返回给定日历字段的值。 3.调用 Cal...

java学习笔记<十三>正则表达式

正则表达式是一个用来处理字符串的工具 1.创建正则表达式 $  匹配一行的结尾 ^ 匹配一行的开头 ()  标记子表达式的开始和结束位置 []  用于确定中括号表达式的开始和结束位置 {}...

java 从零开始,学习笔记之基础入门<正则表达式>(三十一)

正则表达式 JAVA中正则表达式: ² [a-z]表示字母a到z任意一个字符 ² [A-Z]表示A到Z任意一个字符 ² [0-9]表示数字0到9中任意一个数字 ² //"^"表示以某个字符开...
  • lulu147
  • lulu147
  • 2013年12月06日 10:21
  • 1636

黑马程序员------java学习笔记之正则表达式

个人学习笔记
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java正则表达式学习笔记
举报原因:
原因补充:

(最多只允许输入30个字)