没有合适的资源?快使用搜索试试~ 我知道了~
java正则表达式常用实例教程,通俗易懂能快速让你学会java正则技术
资源详情
资源评论
资源推荐
JAVA 正则表达式实例教程 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
空格字符(空格键, tab, 换行, 换页, 回车)
\S
非空格字符([^\s])
\d
一个数字,(相当于[0-9] )
\D
一个非数字的字符,(相当于[^0-9] )
\w
一个单词字符(word character) (相当于 [a-zA-Z_0-9] )
\W
一个非单词的字符,[^\w]
^
一行的开始
$
一行的结尾
\b
一个单词的边界
\B
一个非单词的边界
\G
前一个匹配的结束
[]
匹配方括号内的一个字符
例如:[abc] 表示字符 a,b,c 中的任意一个(与 a|b|c 相同)
[a-zA-Z]
表示从
a
到
z
或
A
到
Z
当中的任意一个字符
表示次数的符号
*
重复零次或更多次
例如:a* 匹配零个或者多个 a
+
重复一次或更多次
例如:a+ 匹配一个或者多个 a
?
重复零次或一次
例如:a? 匹配零个或一个 a
{n}
重复 n 次
例如:a{4} 匹配 4 个 a
{n,}
重复 n 次或更多次
例如:a{4,} 匹配至少 4 个 a
{n,m}
重复 n 到 m 次
例如:a{4,10} 匹配 4~10 个 a
2
JAVA 正则表达式实例教程 12/11/2008
3
、 正则表达式实例
java
正则表达式通过
java.util.regex
包下的
Pattern
类与
Matcher
类实现:
1
、首先引入
java
包:
java.util.regex
2
、使用方法如下:
共分三步:
①构造一个模式
.
Pattern p=Pattern.compile("[a-z]*");
②建造一个匹配器
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
JAVA 正则表达式实例教程 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
剩余16页未读,继续阅读
lg5688134
- 粉丝: 0
- 资源: 16
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0