import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MygrepTest {
public static void main(String[] args) {
rege_replace("hello world!!!", "ll", "XX");
// test1();
}
/** 用正则表达式替换函数 */
static void rege_replace(String str, String patt, String replace) {
// 文字替换(置换字符)
Pattern pattern = Pattern.compile(patt);
Matcher matcher = pattern.matcher(str);
StringBuffer sbr = new StringBuffer();
while (matcher.find()) {
matcher.appendReplacement(sbr, replace);
}
matcher.appendTail(sbr);
System.out.println(sbr.toString());
}
static void test1() {
// 在字符串包含验证时
// 查找以Java开头,任意结尾的字符串
Pattern pattern = Pattern.compile("^Java.*");
Matcher matcher = pattern.matcher("Java不是人");
boolean b = matcher.matches(); // 当条件满足时,将返回true,否则返回false
System.out.println(b);
// 文字替换(首次出现字符)
pattern = Pattern.compile("正则表达式");
matcher = pattern.matcher("正则表达式 Hello World,正则表达式 Hello World"); // 替换第一个符合正则的数据
System.out.println(matcher.replaceFirst("Java"));
// 文字替换(全部)
pattern = Pattern.compile("正则表达式");
matcher = pattern.matcher("正则表达式 Hello World,正则表达式 Hello World"); // 替换第全部符合正则的数据
System.out.println(matcher.replaceAll("Java"));
// 文字替换(置换字符)
pattern = Pattern.compile("正则表达式");
matcher = pattern.matcher("正则表达式 Hello World,正则表达式 Hello World ");
StringBuffer sbr = new StringBuffer();
while (matcher.find()) {
matcher.appendReplacement(sbr, "Java");
}
matcher.appendTail(sbr);
System.out.println(sbr.toString());
// 验证是否为邮箱地址
String str = "ceponline@yahoo.com.cn";
pattern = Pattern.compile("[\\w\\.\\-]+@([\\w\\-]+\\.)+[\\w\\-]+",
Pattern.CASE_INSENSITIVE);
matcher = pattern.matcher(str);
System.out.println(matcher.matches());
}
}
java 正则表达式 练习
最新推荐文章于 2023-03-05 19:20:17 发布