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

十堰做网站中国交建平台

十堰做网站,中国交建平台,天津建筑信息网,广州网络推广哪家好一. 正则表达式基础 1.1 基本概念 正则表达式:用于描述字符串模式的特殊语法 用途:字符串匹配、查找、替换、分割等操作 Java实现:java.util.regex包 1.2 核心类 Pattern:编译后的正则表达式模式(不可变、线程安全…

一. 正则表达式基础

1.1 基本概念

  • 正则表达式:用于描述字符串模式的特殊语法

  • 用途:字符串匹配、查找、替换、分割等操作

  • Java实现java.util.regex

1.2 核心类

  • Pattern:编译后的正则表达式模式(不可变、线程安全)

  • Matcher:通过解释Pattern对字符序列执行匹配操作的引擎

二. 正则表达式语法

2.1 字符匹配

表达式说明示例
.匹配任意单个字符(除换行符)a.c匹配"abc"
\d数字[0-9]\d\d匹配"12"
\D非数字[^0-9]\D匹配"a"
\w单词字符[a-zA-Z_0-9]\w+匹配单词
\W非单词字符[^\w]\W匹配"@"
\s空白字符[\t\n\x0B\f\r]\s匹配空格
\S非空白字符[^\s]\S匹配"a"

2.2 数量限定符

表达式说明示例
*0次或多次a*b匹配"b","ab","aab"
+1次或多次a+b匹配"ab","aab"
?0次或1次a?b匹配"b","ab"
{n}恰好n次a{2}匹配"aa"
{n,}至少n次a{2,}匹配"aa","aaa"
{n,m}n到m次a{2,4}匹配"aa","aaa","aaaa"

2.3 位置匹配

表达式说明示例
^行/字符串开始^Java匹配以"Java"开头的行
$行/字符串结束end$匹配以"end"结尾的行
\b单词边界\bJava\b匹配独立的"Java"单词
\B非单词边界\Bend\B匹配"weekend"中的"end"

2.4 分组与捕获

表达式说明示例
(pattern)捕获分组(ab)+匹配"abab"
(?:pattern)非捕获分组(?:ab)+匹配但不捕获
(?<name>pattern)命名捕获组(?<year>\d{4})捕获为year组

三. Java正则API使用

3.1 基本使用步骤

// 1. 编译正则表达式
Pattern pattern = Pattern.compile("正则表达式");// 2. 创建匹配器
Matcher matcher = pattern.matcher("输入字符串");// 3. 执行匹配操作
boolean isMatch = matcher.matches(); // 或find(), group()等

3.2 常用方法

方法说明
Pattern.compile(String regex)编译正则表达式
matcher(CharSequence input)创建匹配器
matches()尝试将整个区域与模式匹配
find()查找下一个匹配的子序列
group()返回前一次匹配的子序列
group(int group)返回指定捕获组匹配的子序列
start()/end()返回匹配的起始/结束索引
replaceAll(String replacement)替换所有匹配项

3.3 常用模式标志

标志说明
Pattern.CASE_INSENSITIVE不区分大小写匹配
Pattern.MULTILINE多行模式(^和$匹配行首行尾)
Pattern.DOTALL.匹配任何字符包括行终止符
Pattern.UNICODE_CASEUnicode感知的大小写折叠

四. 常见应用示例

4.1 验证格式

// 验证邮箱
boolean isValidEmail = Pattern.matches("\\w+@\\w+\\.\\w+", "test@example.com");// 验证手机号(中国)
String phoneRegex = "1[3-9]\\d{9}";
boolean isValidPhone = "13812345678".matches(phoneRegex);

4.2 提取信息

Pattern datePattern = Pattern.compile("(\\d{4})-(\\d{2})-(\\d{2})");
Matcher matcher = datePattern.matcher("2023-06-15");
if (matcher.find()) {String year = matcher.group(1);  // "2023"String month = matcher.group(2); // "06"String day = matcher.group(3);   // "15"
}

4.3 替换文本

String text = "foo123bar456baz";
String replaced = text.replaceAll("\\d+", "NUM"); // "fooNUMbarNUMbaz"

4.4 分割字符串

String[] parts = "one,two,three".split("\\s*,\\s*"); // ["one", "two", "three"]

五. 高级特性

5.1 零宽断言

表达式说明
(?=pattern)正向先行断言(后面跟着pattern)
(?!pattern)负向先行断言(后面不跟pattern)
(?<=pattern)正向后行断言(前面是pattern)
(?<!pattern)负向后行断言(前面不是pattern)

5.2 贪婪/懒惰/独占模式

模式表示法说明
贪婪X*尽可能多匹配(默认)
懒惰X*?尽可能少匹配
独占X*+尽可能多匹配且不回溯

六. 性能优化建议

  1. 预编译Pattern:多次使用的正则表达式应该预编译

  2. 避免复杂回溯:减少嵌套的量词和或操作

  3. 使用非捕获组:不需要捕获时使用(?:pattern)

  4. 合理使用边界:用\b等提高匹配效率

  5. 避免过度使用:简单字符串操作可用String方法替代

 


文章转载自:

http://UCBtHWve.sbncr.cn
http://0V0zTU6n.sbncr.cn
http://Nm74n97y.sbncr.cn
http://9gdCz2f9.sbncr.cn
http://YUF8c9z1.sbncr.cn
http://TVlA6xjU.sbncr.cn
http://3YjgJlTA.sbncr.cn
http://lQ53j7ck.sbncr.cn
http://bWhIaQ7s.sbncr.cn
http://esoUxpk6.sbncr.cn
http://VAVAgUpV.sbncr.cn
http://xxAb550v.sbncr.cn
http://uL9IZ7hJ.sbncr.cn
http://gvl7xZMZ.sbncr.cn
http://PoObHTjz.sbncr.cn
http://RW5s7AaV.sbncr.cn
http://cRUJX1sM.sbncr.cn
http://lDnwRHxO.sbncr.cn
http://ziJm6yxZ.sbncr.cn
http://DHOp8OhV.sbncr.cn
http://oEGba46x.sbncr.cn
http://jCdMfbol.sbncr.cn
http://0CgPW29J.sbncr.cn
http://JK3Xrp8N.sbncr.cn
http://OqriEqXr.sbncr.cn
http://EPqramuK.sbncr.cn
http://fcgYQLyd.sbncr.cn
http://9XhhZMfl.sbncr.cn
http://77ijYHv3.sbncr.cn
http://JV2EzzpT.sbncr.cn
http://www.dtcms.com/wzjs/663419.html

相关文章:

  • 制作公司网站 价格湛江网站建设技术托管
  • 学习网页制作的网站福州市建设管理处网站
  • 企业建站系统 哪个好aspcms网站地图模板
  • 企业网站怎么注册有没有做网站的公司
  • 甘肃省建设监理协会网站彩票网站建设教程
  • 智慧团建登陆网站免费企业网站建设word
  • 做网站多少钱PageAdmin四川超宇建设集团网站
  • 设计的很好的网站dedecms手机网站模板
  • 网站建设优化服务好么wordpress与帝国cms
  • 网站seo优化关键词企业网站长度
  • 网站建设的公司都有哪些心悦做宠物的网站
  • 浙江网站建设报价拱墅区网站建设
  • 平邑建设局网站浏览器正能量网站免费图片
  • 旅游后台网站设计彩票网站开发
  • 珠海新盈科技网站建设做百度手机网站快
  • 青岛网站设计电话无锡网站制作选哪家
  • 郑州网站排名优化谷歌网站推广报价
  • 重庆网站建设开发江苏艺居建设有限公司网站
  • 公司要做好网站怎样做网站备案意味着什么
  • 化工行业网站韩城建设公司网站
  • 网站建设培训龙岗电子商务网站建设网
  • 西安做义工网站建湖做网站的价格
  • 电子商务网站建设的成本分析如何制作公司宣传片
  • 网站建设实习小结免费动漫网站
  • 做网站时给图片添加链接通州专业网站制作
  • 网站开发的设计与实现宁波专业网站搭建地址
  • 厦门关键词优化网站零基础建设网站视频教程
  • 秦皇岛金洋建设集团网站企业vi设计的作用与意义
  • 一个完整的网站怎么做wordpress自定义文章类型关键词
  • 网站建设分金手指排名十二网站设计 术语