JAVA正则表达式实例教程

2019-03-28 20:32

A 正则表达式实例教程 JAV

12/11/2008

JAVA 正则表达式实例教程

Nick Shanghai China Kandk522@hotmail.com

2008-12-12

So many open source projects. Why not Open your Documents?

1

JAVA 正则表达式实例教程 12/11/2008

1、 正则表达式的知识要点

1、 正则表达式是什么?

正则表达式是一种可以用于模式匹配和替换的强有力的工具。

2、 正则表达式的优点? 更少的

代码,更高的效率。

3、 正则表达式如何使用? 在下面的教程中我们将学习

到正则表达式的用法。

4、 正则表达式的缺点? 需要花一定的时间学习,这个时间由个人决定,

一天或者更久一些。

2、 正则表达式的各种符号及其含义

常用的符号 . \\s \\S \\d \\D \\w \\W ^ $ \\b \\B \\G [] 表示任意一个字符 空格字符(空格键, tab, 换行, 换页, 回车) 非空格字符([^\\s]) 一个数字,(相当于[0-9] ) 一个非数字的字符,(相当于[^0-9] ) 一个单词字符(word character) (相当于 [a-zA-Z_0-9] ) 一个非单词的字符,[^\\w] 一行的开始 一行的结尾 一个单词的边界 一个非单词的边界 前一个匹配的结束 匹配方括号内的一个字符 例如:[abc] 表示字符 a,b,c 中的任意一个(与 a|b|c 相同) [a-zA-Z] 表示从 a 到 z 或 A 到 Z 当中的任意一个字符 表示次数的符号 * + ? {n} {n,} {n,m} 重复零次或更多次 例如:a* 匹配零个或者多个 a 重复一次或更多次 例如:a+ 匹配一个或者多个 a 重复零次或一次 例如:a? 匹配零个或一个 a 重复 n 次 例如:a{4} 匹配 4 个 a 重复 n 次或更多次 例如:a{4,} 匹配至少 4 个 a 重复 n 到 m 次 例如:a{4,10} 匹配 4~10 个 a 2

A 正则表达式实例教程 JAV

12/11/2008

3、 正则表达式实例

java 正则表达式通过 java.util.regex 包下的 Pattern 类与 Matcher 类实现: 1、首先引入 java 包:java.util.regex

2、使用方法如下:

共分三步:

①构造一个模式.

Pattern p=Pattern.compile(\ ②建造一个匹配器

Matcher m = p.matcher(str);

③进行判断,得到结果 boolean b = m.matches();

Matcher 类提供三个匹配操作方法,三个方法均返回 boolean 类型,当匹配到 时返回 true,没匹配到则返回 false ① m.matches()

matches()对整个字符串进行匹配,只有整个字符串都匹配了才返回 true ② m.lookingAt() lookingAt()对前面的字符串进行匹配,只有匹配到的字符串在最前面才返 回 true ③ m.find()

find()对字符串进行匹配,匹配到的字符串可以在任何位置

Matcher 类的其他方法

int groupcount() 返回此匹配器模式中的捕获组数。

String replaceAll(String replacement) 用给定的 replacement 全部替代匹配的 部分

String repalceFirst(String replacement) 用给定的 replacement 替代第一次匹 配的部分

appendReplacement(StringBuffer sb,String replacement) 根 据 模 式 用 replacement 替换相应内容,并将匹配的结果添加到 sb 当前位置之后 StringBuffer appendTail(StringBuffer sb) 将输入序列中匹配之后的末尾字串 添加到 sb 当前位置之后.

group(n) 0 代表永远都是匹配整个表达式的字符串的那部分 n<>0 时代表 第 n 组匹配的部分

① 字符匹配

Pattern p = Pattern.compile(expression); // 正则表达式 Matcher m = p.matcher(str); // 操作的字符串 boolean b = m.matches(); //返回是否匹配的结果 System.out.println(b);

Pattern p = Pattern.compile(expression); // 正则表达式

3

A 正则表达式实例教程 JAV

12/11/2008

Matcher m = p.matcher(str); // 操作的字符串

boolean b = m. lookingAt (); //返回是否匹配的结果 System.out.println(b);

Pattern p = Pattern.compile(expression); // 正则表达式 Matcher m = p.matcher(str); // 操作的字符串 boolean b = m..find (); //返回是否匹配的结果 System.out.println(b);

② 分割字符串

Pattern pattern = Pattern.compile(expression); //正则表达式

String[] strs = pattern.split(str); //操作字符串 得到返回的字符串数组

③ 替换字符串

Pattern p = Pattern.compile(expression); // 正则表达式 Matcher m = p.matcher(text); // 操作的字符串 String s = m.replaceAll(str); //替换后的字符串

④ 查找替换指定字符串

Pattern p = Pattern.compile(expression); // 正则表达式 Matcher m = p.matcher(text); // 操作的字符串 StringBuffer sb = new StringBuffer(); int i = 0;

while (m.find()) {

m.appendReplacement(sb, str); i++; //字符串出现次数 }

m.appendTail(sb);//从截取点将后面的字符串接上 String s = sb.toString();

⑤ 查找输出字符串

Pattern p = Pattern.compile(expression); // 正则表达式 Matcher m = p.matcher(text); // 操作的字符串 while (m.find()) {

//m.start() 返回匹配到的子字符串在字符串中的索引位置.

//m.end()返回匹配到的子字符串的最后一个字符在字符串中的索引位置. //m.group()返回匹配到的子字符串 }

4

A 正则表达式实例教程 JAV

12/11/2008

3、下面通过几个例子来理解一下正则表达式的妙用

3.1 匹配字符串(matches()方法)

import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegTest{ static void test(){ Pattern p = null; //正则表达式 Matcher m = null; //操作的字符串 boolean b = false; //正则表达式表示首字母是a,中间是任意字符,结尾以b结束 //不匹配的结果 p = Pattern.compile(\); m = p.matcher(\); b = m.matches(); System.out.println(\匹配结 果:\+b); //输出:true //匹配的结果 p = Pattern.compile(\); m = p.matcher(\); b = m.matches(); System.out.println(\匹配结果:\+b); //输出:false } public static void main(String argus[]){ test(); } } 5


JAVA正则表达式实例教程.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:浅谈幼儿教育小学化倾向

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: