您的位置:首页 > 编程语言 > Java开发

java正则表达式基础

2015-09-19 22:15 519 查看
package com.zp.regex;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class PatternDemo {

public static void main(String[] args) {

// TODO Auto-generated method stub

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

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

boolean b = m.matches();

System.out.println("是否匹配:"+b);

Matcher m2 = p.matcher("abc");//只含有abc

boolean b2 = m2.matches();

System.out.println("是否匹配:"+b2);

//句点符号 表示任意字符

Pattern p2 = Pattern.compile("t.n");

System.out.println("p2:"+p2.matcher("tan").matches());

//方括号 缩小范围匹配括号中的任意一个字符

Pattern p3 = Pattern.compile("t[abc]n");

System.out.println("p3:"+p3.matcher("tdn").matches());

//或符号 "|"

Pattern p4 = Pattern.compile("t(a|b|c|oo)n");

System.out.println("p4:"+p4.matcher("toon").matches());

//匹配行结束符$

Pattern p5 = Pattern.compile("t(a|b|c|oo)n$");

System.out.println("p5:"+p5.matcher("toon").matches());//true

//^匹配一行的开始

Pattern p6 = Pattern.compile("^t(a|b|c|oo)n$");

System.out.println("p6:"+p5.matcher("atoon").matches());//false

//*匹配0至多个在它之前的字符

Pattern p7 = Pattern.compile("zo*");

System.out.println("p7:"+p7.matcher("zoo").matches());

// /转义符 \\$表美元符号$

Pattern p8 = Pattern.compile("2\\$");

System.out.println("p8:"+p8.matcher("2$").matches());

// ()将 () 之间括起来的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域,这个元字符在字符串提取的时候非常有用。

Pattern p9 = Pattern.compile("(abc)*");

System.out.println("p9:"+p9.matcher("abcabcabc").matches());

// +匹配前面的子表达式一次或多次。例如正则表达式9+匹配9、99、999等

Pattern p10 = Pattern.compile("(abc)+");

System.out.println("p10:"+p10.matcher("").matches());

// ?匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。此元字符还有另外一个用途,就是表示非贪婪模式匹配,

Pattern p11 = Pattern.compile("(abc)?");

System.out.println("p11:"+p11.matcher("abcabc").matches());

//{n}匹配确定的 n 次。例如,“e{2}”不能匹配“bed”中的“d”,但是能匹配“seed”中的两个“e”。

Pattern p12 = Pattern.compile("(abc){3}");

System.out.println("p12:"+p12.matcher("abcabcabc").matches());

//{n,}至少匹配n次。例如,“e{2,}”不能匹配“bed”中的“e”,但能匹配“seeeeeeeed”中的所有“e”

Pattern p13 = Pattern.compile("(abc){3,}");

System.out.println("p13:"+p13.matcher("abcabc").matches());

//{n,m}最少匹配 n 次且最多匹配 m 次。“e{1,3}”将匹配“seeeeeeeed”中的前三个“e”。

Pattern p14 = Pattern.compile("(abc){2,4}");

System.out.println("p14:"+p14.matcher("abcabcabc").matches());

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: