环保网站怎么做wordpress对网站排名
- 作者: 五速梦信息网
- 时间: 2026年03月21日 10:52
当前位置: 首页 > news >正文
环保网站怎么做,wordpress对网站排名,网站推广的技能,义乌创博网络科技有限公司大家好#xff0c;欢迎来到停止重构的频道。 本期我们讨论正则表达式。 正则表达式是一种用于匹配和操作文本的工具#xff0c;常用于文本查找、文本替换、校验文本格式等场景。 正则表达式不仅是写代码时才会使用#xff0c;在平常使用的很多文本编辑软件#xff0c;都… 大家好欢迎来到停止重构的频道。 本期我们讨论正则表达式。 正则表达式是一种用于匹配和操作文本的工具常用于文本查找、文本替换、校验文本格式等场景。 正则表达式不仅是写代码时才会使用在平常使用的很多文本编辑软件都是支持正则表达式搜索或替换的。 如vs code、notepad、word、excel等其中word、excel中的正则表达式语法存在一些差异。 我们将从以下几点展开讨论 1、正则表达式介绍与应用 2、正则表达式语法详解 3、记不住语法的解决方案 1、正则表达式 介绍 应用 首先是正则表达式的介绍与应用。 正则表达式是一种用于匹配和操作文本的工具可以用于文本查找、文本替换、文本格式校验等场景。 正则表达式本身也是一段文本或者说是一条字符串。 如图所示示例1的正则表达式可以检查字符串是否符合邮箱的格式示例2的正则表达式可以查找所有a开头的单词。 在程序开发中正则表达式可用于字符串或文本的查找、替换、格式校验以下Python为例。 示例1为查找a开头的所有单词。 示例2为替换手机号中间数字为*号。 示例3为校验字符串是否符合邮箱格式。 这里顺便一提一般数据库如MySQL都是支持正则表达式查询的。 正则表达式可以通过简单的一条字符串告诉程序应该执行什么样的文本匹配和操作。 如果是正常写代码的话将是一大段代码且维护性特别差。 不过正则表达式的处理性能一般都不会太高且越复杂的正则表达式处理起来越慢。 但是一般的应用开发是不需要考虑这个性能的。 在我们开源的代码生成器Christmas中也大量使用正则表达式感兴趣的小伙伴可以下载翻看。 在日常办公中很多文本处理软件也是支持正则表达式检索或替换的。 如word在搜索框输入一条正则表达式即可搜索出所有手机号。 2、语法大纲 接下来详细讲解正则表达式的语法。 这里需要特别说明的是不同正则表达式解析引擎可能有细微的语法差别我们下面介绍的是最为通用的正则表达式标准。 正则表达式说白了就是高级版关键字搜索。 对比普通的关键字搜索正则表达式加入了很多具有特殊意义的元字符通过加入这些元字符即可实现灵活性更高的模糊匹配。 理论上只要记住这些元字符就几乎等于掌握了正则表达式。 但是元字符总共有几十个且很难记忆所以通过列举的方式介绍每个元字符并不是很好的介绍方法。 我们尝试将正则表达式的语法结构化将正则表达式语法分为普通字符、字符集合、限定符、定位符、子表达式、省略符、修饰符。 2-1、语法普通字符 首先是普通字符 普通字符可以理解为明确的关键字主要包括文字字符、符号。 文字字符指的是英文字母、数字、中文字这些文字字符在正则表达式中直接写就可以了。 如需要匹配get这个单词正则表达式则直接写为get。 而符号像%、_这些一般也是直接写就可以了。如需要匹配_get正则表达式也是_get。 但是一些符号由于在正则表达式中有特殊含义如果需要匹配这些符号则需要\转义。 图中是需要转义的特殊符号如需要匹配get*正则表达式是get*。 普通字符除了文字字符、符号以外还有一些不太常用的非打印字符、16进制、8进制、Unicode编码字符等。 这些都不需要记住用到的时候再查就行。 2-2、语法字符集合 接下来是字符集合。 字符集合是单个字符的值范围只要符合这个范围的字符都算是匹配成功。字符集合包含在一对[]之间[]内每一个字符都是允许匹配的值。 字符集合适合匹配多个关键字且这多个关键字中只有个别字符存在差异的情况。 如需匹配文本中的get、got这两个关键字只有中间的字符存在差异所以采用字符集合是合理的。 这里需要特别说明的是字符集合是单个字符的值范围。 如需匹配文本中的get、goat这两个单词由于这两个单词的差异不仅仅在一个字符上所以不能采用字符集合。 字符集合中为了简化连续字符可以使用-标识连续字符的范围。 如需匹配文本中的gat、gbt、gct正则表达式如图所示。 如果希望字符集合为排除在外的范围则可以在字符集合的最开端添加^号。 2-3、语法限定符 接下来是限定符。限定符是为了给前一个字符追加出现次数范围常用的限定符为*号、号、?号。 *号表示要求前一个字符出现0次或多次。 号表示要求前一个字符出现1次或多次。 ?号表示要求前一个字符出现0次或1次。 如需要匹配文本中的god、good、goood由于都是以g开头、d结尾且中间包含1个或以上个o字符则正则表达式为god。 如果以上常用的限定符不能满足需求如指定3次、3-6次等。可以使用{}标注具体次数。 当限定符前面的字符是一个模糊的匹配范围如一个字符集合则会发生贪婪匹配的问题。 默认情况下正则表达式会匹配到尽量多的字符这也称为贪婪匹配。 如示例1中会匹配文本中的gadxxgod一长串字符串贪婪匹配)。 但如果我们不希望匹配这个长字符串而是其中的gad、god这两个字符串。 则应该如示例2中在示例一的限定符后追加?号即可实现非贪婪匹配就可以匹配到gad、god这两个字符串。 2-4、语法定位符 接下来是定位符定位符是标记匹配位置而存在的。 定位符只有四个整个字符串的开端、整个字符串的末尾、单词边界、非单词边界。 以校验字符串是否为11位手机号为例加入定位符更有利于精细匹配。 2-5、语法子表达式 接下来是子表达式子表达式是内嵌的子正则表达式。 子表达式写在一对()中间子表达式与正则表达式的语法相同子表达式内可以再内嵌子表达式。 那子表达式有什么用呢 子表达式可以看作是一个整体如示例所示当子表达式后添加限定符后则可以匹配文本中连续的got字符串。 子表达式也可以作为多种情况的匹配范围子表达式中用|分割多个子表达式以表示多种情况。 如需要匹配文本中的get、goat两个字符串正则表达式如图所示。 子表达式也可以标记子匹配项如需要匹配文本中AABB形式的字符串示例中的\1表示与第1个子匹配项相同的内容\2表示与第2个子匹配项相同的内容。 这里值得一提的是在正则表达式标准中每个子表达式的匹配结果会单独存储。 如果子表达式的匹配结果不需要存储可以在子表达式前添加标记不过这个在日常使用中不太常用。 另外子表达式也可以作为预查匹配项预查匹配项可以理解为自定义的定位符。因为定位符只有四个但是实际应用中是远远不够的。 如图中示例预查匹配项可以指定目标结果的前或后的特征子表达式作为预查匹配项时需要根据4种不同的预查匹配模式添加对应的标识。 2-6、语法省略符 通过以上语法其实已经可以写出全部功能的正则表达式。但是一些局部未免有些啰嗦所以出现了省略符。 省略符是一些为了简化正则表达式而存在的元字符一般以\开头如示例中的\d即可代表所有数字的字符集合。 常用的省略符如图所示但是省略符仅仅是为了简化正则表达式而存在的每个省略符都有对应的替代方案所以省略符不必强行记忆。 2-7、语法修饰符 最后是修饰符严格意义上讲修饰符并不是正则表达式的一部分。 修饰符是指定匹配策略的如不区分大小写、多行匹配等所以相同正则表达式在指定不同修饰符情况下匹配的结果会有所区别。 修饰符一般是4个且修饰符可以叠加使用但是某些正则表达式代码库可能存在不同的匹配策略可能存在多于4个修饰符的设置。 这里需要特别说明的是有些软件虽然支持正则表达式搜索但不一定开放修饰符的设置。 3、记不住语法的解决方案 在以上语法讲解中我们已经尽量结构化了但是仍然有很多难以记忆的标记或语法。 除非是每天都使用正则表达式否则是不可能随随便便就写出一条准确无误的正则表达式的。 以我个人为例虽然使用正则表达式很多年但是一到写正则表达式的时候还是需要翻看手册。 所以记不住语法是正常的 平常写正则表达式时可以先在在线网站测试一下。 当然如果你有一个AI助手最好的方法是直接问AI只要不是特别复杂或特殊的AI助手一般都能直接给出答案AI助手甚至能标注各个片段的作用。 总结 最后正则表达式非常实用也足够流行在非常多的文本处理软件中都支持正则表达式。大多数编程语言的标准库也包含正则表达式的支持。 但是在我们看来正则表达式的某些元字符或标记的设计并不友好注定是难以记忆的。 当然很多开源项目也尝试对正则表达式的语法进行改进如google的re2但是大多数人并不会选用。 毕竟正则表达式虽然很常用但对于大多数人来说也没有到天天都需要使用的程度更何况现在有比搜索引擎更高效的AI助手呢。
- 上一篇: 环保网站 怎么做一般哪些商家需要建设网站
- 下一篇: 环保业网站建设的策划台州网站设计开发
相关文章
-
环保网站 怎么做一般哪些商家需要建设网站
环保网站 怎么做一般哪些商家需要建设网站
- 技术栈
- 2026年03月21日
-
环保网站 怎么做目前网站类型主要包括哪几种
环保网站 怎么做目前网站类型主要包括哪几种
- 技术栈
- 2026年03月21日
-
环保推广哪个网站好河北最近发生了什么事
环保推广哪个网站好河北最近发生了什么事
- 技术栈
- 2026年03月21日
-
环保业网站建设的策划台州网站设计开发
环保业网站建设的策划台州网站设计开发
- 技术栈
- 2026年03月21日
-
环保油 东莞网站建设美食网站php源码
环保油 东莞网站建设美食网站php源码
- 技术栈
- 2026年03月21日
-
环保主题静态网站升学历的正规机构官网
环保主题静态网站升学历的正规机构官网
- 技术栈
- 2026年03月21日

