在JAVA中使用正規表示式 (轉)
在中使用正則:namespace prefix = o ns = "urn:schemas--com::office" />
1.4中加入了java.util.regex包提供對正規表示式的支援。而且Java.lang.String類中的replaceAll和split也是的正規表示式來實現的。
正規表示式對字串的操作主要包括:字串匹配,指定字串替換,指定字串查詢和字串分割。下面就用一個例子來說明這些操作是如何實現的:
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+"
");
//字串匹配,這是符合的
p = Pattern.compile("a*b");
m = p.matcher("aaaaab");
b = m.matches();
out.println(b+"
");
//字串替換
p = Pattern.compile("ab");
m = p.matcher("aaaaab");
s = m.replaceAll("d");
out.println(s+"
");
p = Pattern.compile("a*b");
m = p.matcher("aaaaab");
s = m.replaceAll("d");
out.println(s+"
");
p = Pattern.compile("a*b");
m = p.matcher("caaaaab");
s = m.replaceAll("d");
out.println(s+"
");
//字串查詢
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()+"
");
out.println(i+"
");
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()+"
");
out.println(i+"
");
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+"
");
s = m.replaceAll("dog");
out.println(s+"
");
i=0;
p = Pattern.compile("(fds){2,}");
m = p.matcher("dsa da fdds aaafdsafds aaf");
sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, "dog");
i++;
}
m.appendTail(sb);
out.println(sb.toString()+"
");
out.println(i+"
");
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()+"
");
String aa=sb.toString();
out.println(aa+"
");
//字串分割
p = Pattern.compile("a+");
String[] a=p.split("caaaaaat");
for(i=0;i { out.println(a[i]+" } p = Pattern.compile("a+"); a=p.split("c aa aaaa t",0); for(i=0;i { out.println(a[i]+" } p = Pattern.compile(" +"); a=p.split("c aa aaaa t",0); for(i=0;i { out.println(a[i]+" } p = Pattern.compile("+"); a=p.split("dsafasdfdsafsda+dsagfasdfa+sdafds"); out.println(a.length+" for(i=0;i { out.println(a[i]+" } %>
");
");
");
");
");
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-962118/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 正規表示式在Java中的使用Java
- 在UltraEdit中使用正規表示式(轉載)
- MongoDB正規表示式在索引中的使用MongoDB索引
- java中的正規表示式Java
- 正規表示式匹配${key}並在Java中使用Java
- 在UltraEdit中使用正規表示式
- Java 中 Emoji 的正規表示式Java
- java正規表示式Java
- 【java】正規表示式Java
- 正規表示式(java)Java
- 正規表示式使用詳解(轉)
- 轉義正規表示式中特殊字元字元
- 正規表示式中的特殊字元(轉)字元
- JavaScript中的正規表示式(2) (轉)JavaScript
- JavaScript中的正規表示式(1) (轉)JavaScript
- Java常用正規表示式Java
- java正規表示式【大全】Java
- [轉]UltraEdit正規表示式
- 正規表示式在iOS中的運用iOS
- Java經典例項:在正規表示式中控制大小寫Java
- 在angular路由中使用正規表示式Angular路由
- vi 中的正規表示式 (Regular Expression)(轉)Express
- Java正規表示式總結Java
- java正規表示式大全(常用)Java
- java正規表示式之 groupJava
- java 正規表示式 舉例Java
- Java 金額正規表示式Java
- Java 正規表示式詳解Java
- Java正規表示式應用Java
- java正規表示式替換Java
- java正規表示式例項Java
- 學習Java:正規表示式Java
- 正規表示式 轉義字元字元
- c# 正規表示式(轉)C#
- 正規表示式語法(轉)
- JS中的正規表示式JS
- iOS中的正規表示式iOS
- Oracle中的正規表示式Oracle