jdk1.4中加入了java.util.regex包提供对正则表达式的支持。而且Java.lang.String类中的replaceAll和split函数也是调用的正则表达式来实现的。
正则表达式对字符串的操作主要包括:字符串匹配,指定字符串替换,指定字符串查找和字符串分割。下面就用一个例子来说明这些操作是如何实现的:
< %@ page import=\”java.util.regex.*\”%>
< %
Pattern p=null; //正则表达式
Matcher m=null; //操作的字符串
boolean b;
String s=null;
StringBuffer sb=null;
int i=0;
//字符串匹配,这是不符合的
p = Pattern.compile(\”a*b\”);
m = p.matcher(\”baaaaab\”);
b = m.matches();
out.println(b+\”< br>\”);
//字符串匹配,这是符合的
p = Pattern.compile(\”a*b\”);
m = p.matcher(\”aaaaab\”);
b = m.matches();
out.println(b+\”< br>\”);
//字符串替换
p = Pattern.compile(\”ab\”);
m = p.matcher(\”aaaaab\”);
s = m.replaceAll(\”d\”);
out.println(s+\”< br>\”);
p = Pattern.compile(\”a*b\”);
m = p.matcher(\”aaaaab\”);
s = m.replaceAll(\”d\”);
out.println(s+\”< br>\”);
p = Pattern.compile(\”a*b\”);
m = p.matcher(\”caaaaab\”);
s = m.replaceAll(\”d\”);
out.println(s+\”< br>\”);
//字符串查找
p = Pattern.compile(\”cat\”);
m = p.matcher(\”one cat two cats in the yard\”);
sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, \”dog\”);
i++;
}
m.appendTail(sb);
out.println(sb.toString()+\”< br>\”);
out.println(i+\”< br>\”);
i=0;
p = Pattern.compile(\”cat\”);
m = p.matcher(\”one cat two ca tsi nthe yard\”);
sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, \”dog\”);
i++;
}
m.appendTail(sb);
out.println(sb.toString()+\”< br>\”);
out.println(i+\”< br>\”);
p = Pattern.compile(\”cat\”);
m = p.matcher(\”one cat two cats in the yard\”);
p=m.pattern();
m = p.matcher(\”bacatab\”);
b = m.matches();
out.println(b+\”< br>\”);
s = m.replaceAll(\”dog\”);
out.println(s+\”< br>\”);
i=0;
p = Pattern.compile(\”(fds){2,}\”);
m = p.matcher(\”dsa da fdsfds aaafdsafds aaf\”);
sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, \”dog\”);
i++;
}
m.appendTail(sb);
out.println(sb.toString()+\”< br>\”);
out.println(i+\”< br>\”);
p = Pattern.compile(\”cat\”);
m = p.matcher(\”one cat two cats in the yard\”);
sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, \” cat \”);
}
m.appendTail(sb);
out.println(sb.toString()+\”< br>\”);
String aa=sb.toString();
out.println(aa+\”< br>\”);
//字符串分割
p = Pattern.compile(\”a+\”);
String[] a=p.split(\”caaaaaat\”);
for(i=0;i
{
out.println(a[i]+\”< br>\”);
}
p = Pattern.compile(\”a+\”);
a=p.split(\”c aa aaaa t\”,0);
for(i=0;i
{
out.println(a[i]+\”< br>\”);
}
p = Pattern.compile(\” +\”);
a=p.split(\”c aa aaaa t\”,0);
for(i=0;i
{
out.println(a[i]+\”< br>\”);
}
p = Pattern.compile(\”\\\\+\”);
a=p.split(\”dsafasdfdsafsda+dsagfasdfa+sdafds\”);
out.println(a.length+\”< br>\”);
for(i=0;i
{
out.println(a[i]+\”< br>\”);
}
%>
在java中使用正则表达式_java认证
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 在java中使用正则表达式_java认证
相关推荐
-      photoshop简单为美女照片瘦身及调色_photoshop教程
-      photoshop模仿龟裂的瓷纹杯_photoshop教程
-      photoshop绘鲜美葡萄 表现光影效果_photoshop教程
-      java认证培训辅导:随机整数的生成_java认证
-      java考试认证:scjp310-035考试心得_java认证
-      通过java认证 scjp 考试之精辟总结_java认证
-      java认证心得:顺利通过scjp测试全接触_java认证
-      java认证培训辅导:随机整数的生成_java认证