Java中正则表达式类的一些使用
2008-05-07 18:57
344 查看
JAVA正则表达式类的使用
import java.util.regex.Matcher;import java.util.regex.Pattern;
/**
* @author ZhuYuanXi
* 正则表达式的使用
*/
public class Test {
/**
* 字符串匹配
* @param expression 正则表达式字符串
* @param text 要进行匹配的字符串
*/
private static void matchingText(String expression, String text) {
Pattern p = Pattern.compile(expression); // 正则表达式
Matcher m = p.matcher(text); // 操作的字符串
boolean b = m.matches();
System.out.println(b);
}
/**
* 字符串替换
* @param expression 正则表达式字符串
* @param text 要进行替换操作的字符串
* @param str 要替换的字符串
*/
private static void replaceText(String expression, String text, String str) {
Pattern p = Pattern.compile(expression); // 正则表达式
Matcher m = p.matcher(text); // 操作的字符串
String s = m.replaceAll(str);
System.out.println(s);
}
/**
* 字符串查找
* @param expression 正则表达式字符串
* @param text 要进行查找操作的字符串
* @param str 要查找的字符串
*/
private static void findText(String expression, String text, String 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);
System.out.println(sb.toString());
System.out.println(i);
}
/**
* 字符串分割
* @param expression 正则表达式字符串
* @param text 要进行分割操作的字符串
*/
private static void splitText(String expression, String text) {
Pattern p = Pattern.compile(expression); // 正则表达式
String[] a = p.split(text);
for (int i = 0; i < a.length; i++) {
System.out.println(a);
}
}
/**
* @param args
*/
public static void main(String[] args) {
matchingText("^card_([_0-9a-zA-Z]+[_0-9a-zA-Z-/]*[_0-9a-zA-Z]+)/?.shtml$", "card_1020000000.shtml");
// 字符串匹配,这是不符合的
matchingText("a*b", "baaaaab");
// 字符串匹配,这是符合的
matchingText("a*b", "aaaaab");
// 字符串匹配,通用匹配
matchingText("^([_0-9a-zA-Z]+[_0-9a-zA-Z-/]*[_0-9a-zA-Z]+)/?", "aaaaab");
// 字符串替换
replaceText("ab", "aaaaab", "d");
replaceText("a*b", "aaaaab", "d");
replaceText("a*b", "caaaaab", "d");
// 字符串查找
findText("cat", "one cat two cats in the yard", "dog");
findText("(fds){2,}", "dsa da fdsfds aaafdsafds aaf", "dog");
// 字符串分割
splitText("a+", "caaaaaat");
splitText("a+", "c aa aaaa t");
splitText(" +", "c aa aaaa t");
splitText("//+", "dsafasdfdsafsda+dsagfasdfa+sdafds");
}
}
相关文章推荐
- Java正则表达式类的各种例子使用
- Java String 中的一些函数与正则的结合使用
- java.util.regex 包中自带的两个 正则表达式类的使用总结
- JAVA环境使用正则表达式处理字符串
- java 如何用pattern 和 Matcher 来使用正则表达式
- javaWeb开发之MySQL和Cookie的使用练习中遇到的一些问题及解决
- 如何使用Java自带的正则表达式
- java使用正则表达式过滤所有的字符和数字
- java使用正则表达式获取字符串中的所有英文单词或数字
- 来自 Serenity 的 Java 8 的一些使用技巧
- Java基础知识强化77:正则表达式之获取功能(Pattern 和 Matcher类的使用)
- 在java中使用正则表达式注意的地方
- java中使用正则对格式的验证
- Lucene的一些基本使用方法和概念 (JAVA)
- JAVA里使用正则表达式二
- 【JAVA正则表达式使用方法】
- Java学习,正则表达式与一些常见类
- java 使用正则表达式获取匹配的字符串
- java爬取网页内容 简单例子(1)——使用正则表达式
- .Net使用DES加密,.Net和java分别解密,并正则匹配替换加密密码为明文