当前位置: 首页 > news >正文

西安找建网站公司群站优化之链轮模式

西安找建网站公司,群站优化之链轮模式,网站开发培训费多少钱,单页网站建设一般收费一、正则表达式能干什么? ✅ 验证格式:手机号、邮箱、日期✅ 提取数据:从日志/文本中抓取关键信息✅ 替换文本:批量修改字符串内容 二、Java正则核心API Java中用 java.util.regex 包的两个类: Pattern:…

一、正则表达式能干什么?

  • 验证格式:手机号、邮箱、日期
  • 提取数据:从日志/文本中抓取关键信息
  • 替换文本:批量修改字符串内容

二、Java正则核心API

Java中用 java.util.regex 包的两个类:

  1. Pattern:编译正则表达式
  2. Matcher:执行匹配操作
// 快速匹配示例
String regex = "\\d+";  // 匹配数字
boolean isMatch = Pattern.matches(regex, "123"); // true// 提取数据示例
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher("价格:99元,库存:5");
while(matcher.find()) {System.out.println(matcher.group()); // 输出 99 和 5
}

三、5个必会语法(附Java代码)

1. 基础匹配
符号说明Java示例匹配结果
\d数字"a\\d"a1, a9
\w字母数字下划线"\\w+"hello, user1
.任意字符"a.c"abc, a@c
^开头"^Java"Java真好用
$结尾"end$"这是end
2. 量词(控制次数)
符号说明示例匹配内容
?0或1次"a?"“”, a
+1次或多次"\\d+"1, 123
*0次或多次"a*"“”, aaaa
{n}精确n次"\\d{4}"2023
3. 字符集合
// 匹配元音字母
Pattern.compile("[aeiou]");    // 匹配 a, e, i 等
// 匹配非数字
Pattern.compile("[^0-9]");     // 匹配 a, @, # 等
4. 分组提取
String text = "电话:188-1234-5678";
Pattern pattern = Pattern.compile("(\\d{3})-(\\d{4})-(\\d{4})");
Matcher matcher = pattern.matcher(text);
if(matcher.find()) {System.out.println(matcher.group(1)); // 188System.out.println(matcher.group(2)); // 1234System.out.println(matcher.group(3)); // 5678
}
5. 贪婪 vs 非贪婪
// 贪婪模式(默认)
Pattern.compile("a.*b").matcher("aXXXbYYYb").find(); // 匹配整个字符串// 非贪婪模式(加?)
Pattern.compile("a.*?b").matcher("aXXXbYYYb").find(); // 只匹配aXXXb

四、高频实战案例

1. 验证手机号
String regex = "1[3-9]\\d{9}";
boolean isValid = "18812345678".matches(regex); // true
2. 提取邮箱
String text = "联系我:admin@test.com 或 user@qq.com";
Pattern pattern = Pattern.compile("\\w+@\\w+\\.\\w+");
Matcher matcher = pattern.matcher(text);
while(matcher.find()) {System.out.println(matcher.group()); // 输出两个邮箱
}
3. 替换敏感信息
String phone = "手机号:18812345678";
String masked = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");
// 结果:手机号:188****5678

五、避坑指南(Java专属)

  1. 转义问题:Java中 \ 要写两次

    // 错误写法:Pattern.compile("\d+"); 
    // 正确写法:
    Pattern.compile("\\d+");
    
  2. 性能优化:复用 Pattern 对象

    // 不要每次编译(低效):
    for(...) {Pattern.matches(regex, text); 
    }// 正确做法:
    Pattern pattern = Pattern.compile(regex);
    for(...) {pattern.matcher(text).matches();
    }
    
  3. 边界检查:用 ^$ 严格匹配

    // 可能意外匹配子串:
    "123abc".matches("\\d+"); // false(正确)
    "123".matches("\\d+");    // true// 错误示例:没有用^$导致误匹配
    "a1b2".matches("\\d+");   // false(正确)
    

总结:正则表达式就是用符号描述字符串规则,多写多练才能掌握!遇到复杂需求时,先拆解再组合,Java的 PatternMatcher 能帮你轻松应对文本处理需求! 🚀

// 快速测试你的正则(复制到main方法试试)
String regex = "你的正则";
String text = "测试文本";
System.out.println(text.matches(regex)); 
http://www.dt0577.cn/news/38480.html

相关文章:

  • 免费查看招标信息的网站关联词有哪些类型
  • 手机商城官方网站交换链接适用于哪些网站
  • 百度网站管理在线培训网站次要关键词
  • 在网站底部做超链接的操作步骤网站seo优化包括哪些方面
  • php做学校网站免费下载企业网站seo多少钱
  • 广州骏域网站建设专家 V免费seo诊断
  • 15个html5手机网站模板最新国际新闻
  • 一个用css3做的网站中国最新消息
  • 网站模板 seo宁波seo公司排名
  • 做网站首页看不到图片网站卖链接
  • 哈尔滨网站建设那家好上海有名网站建站开发公司
  • 黑马网站建设网站设计地推接单在哪个平台找
  • 用php做电商网站有哪些google图片搜索
  • 网站策划书一般包括以下内容乔拓云智能建站
  • 网站建设基本标准百度快照优化排名推广
  • 幻灯片在什么网站做中国联通和腾讯
  • wordpress 调用 编辑器seo推广优化方案
  • 企业网站整理优化东莞seo建站咨询
  • 哈尔滨公司网站做app的网站
  • 专业软件网站建设免费浏览网站推广
  • 河南建设银行招聘网站接单平台
  • 个人网站毕业论文网上教育培训机构
  • 做织梦网站之前要新建数据库吗ueeshop建站费用
  • 云阿里云做网站上海培训机构排名榜
  • 公司做网站效果怎么样app运营
  • 著名网站有哪些分销系统
  • wordpress后台挂了免费seo
  • 广州市南沙区建设和交通局网站济宁百度推广价格
  • 穹拓做网站广东疫情最新情况
  • 男女做那个那个的视频网站优化大师安卓版