【正则表达式】从0开始学习正则表达式

打印 上一主题 下一主题

主题 802|帖子 802|积分 2406

正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)
一、推荐学习网站

正则表达式 – 语法 | 菜鸟教程

正则表达式30分钟入门教程 | 菜鸟教程

编程胶囊-打造学习编程的最好体系

  


二、必知必记 

2.1 元字符



2.2 数目限定符

2.3 位置限定符

2.4 特别符号

2.5 其他平常字符集及其替换

2.6 贪婪与懒惰

   当正则表达式中包含能接受重复的限定符时,通常的举动是(在使整个表达式能得到匹配的前提下)匹配尽可能多的字符。以这个表达式为例:a.*b,它将会匹配最长的以a开始,以b结束的字符串。假如用它来搜索aabab的话,它会匹配整个字符串aabab。这被称为贪婪匹配。
  有时,我们更需要懒惰匹配,也就是匹配尽可能少的字符。前面给出的限定符都可以被转化为懒惰匹配模式,只要在它背面加上一个问号?。这样.*?就意味着匹配任意数目的重复,但是在能使整个匹配成功的前提下使用最少的重复。如今看看懒惰版的例子吧:
  a.*?b匹配最短的,以a开始,以b结束的字符串。假如把它应用于aabab的话,它会匹配aab(第一到第三个字符)和ab(第四到第五个字符)。
  注:为什么第一个匹配是aab(第一到第三个字符)而不是ab(第二到第三个字符)?简单地说,因为正则表达式有另一条规则,比懒惰/贪婪规则的优先级更高:开始开始的匹配拥有最高的优先权——The match that begins earliest wins。
  

三、正则表达式测试网址



  • 在线正则表达式测试
  • RegExr: 学习、构建 和 测试 正则表达式 Test RegEx
  • 正则表达式在线天生代码-在线正则表达式代码天生工具

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

耶耶耶耶耶

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表