一文入门:正则表达式底子

[复制链接]
发表于 2024-8-26 03:47:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
正则表达式简介

正则表达式(Regular Expression,简称regex或RE)是一种用于匹配字符串中字符组合的模式。它广泛应用于编程语言、文本编辑器和各种工具中,用于实行复杂的字符串搜索和替换任务。
为什么使用正则表达式?



  • 高效性:正则表达式可以快速地在大量文本中搜索特定的模式。
  • 灵活性:它可以或许匹配复杂的字符串模式,如电子邮件地址、电话号码等。
  • 可读性:一旦熟悉了正则表达式的语法,它通常比编程代码更易于理解和维护。
基本语法



  • 字符类:[abc] 匹配任何一个括号内的字符。
  • 预定义字符类:\d 匹配恣意数字,相当于 [0-9]。
  • 量词:

    • * 匹配前面的元素零次或多次。
    • + 匹配前面的元素一次或多次。
    • ? 匹配前面的元素零次或一次。

  • 分组:( ) 将多个元素组合成一个单元,并可以对它们应用量词。
  • 选择:| 表现“或”,匹配两个选项中的恣意一个。
进阶特性



  • 懒惰量词:*?, +?, ?? 尽可能少地匹配字符。
  • 贪心量词:*, +, ? 默认环境下尽可能多地匹配字符。
  • 断言:

    • ^ 匹配字符串的开始。
    • $ 匹配字符串的结束。
    • \b 匹配单词的边界。

  • 后向引用:使用 \1, \2 等引用前面匹配的分组。
实例演示

假设我们须要从一个文本中找出全部的电子邮件地址。电子邮件地址通常具有以下格式:[email protected]。
  1. \b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b
复制代码
这个正则表达式表明如下:


  • \b 表现单词边界,确保我们匹配的是完整的电子邮件地址。
  • [A-Za-z0-9._%+-]+ 匹配电子邮件用户名部分。
  • @ 字面意义上的“@”符号。
  • [A-Za-z0-9.-]+ 匹配域名部分。
  • \. 匹配点号,由于点号在正则表达式中有特殊含义,以是须要转义。
  • [A-Z|a-z]{2,} 匹配顶级域名,至少两个字符。
正则表达式工具



  • 在线测试工具:如 Regex101、Regexr 等,可以实时测试正则表达式。
  • 编程语言支持:几乎全部当代编程语言都内置了对正则表达式的支持。
结语

正则表达式是一个强盛的工具,但也须要肯定的学习曲线。通过不停实践和使用,你将可以或许掌握这一强盛的文本处理技能。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表