码迷,mamicode.com
首页 > 其他好文 > 详细

正则入门

时间:2018-06-15 20:58:57      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:meta   反向引用   字母   就是   入门   block   空白   意义   char   

正则入门


  1. 元字符及反义
  2. 重复
  3. 分枝
  4. 分组
  5. 后向引用
  6. 零宽断言
  7. 贪婪与懒惰

一、元字符及反向引用

元字符(metacharacter),可以理解为匹配的最小单元

\b 匹配一个位置,它的前一个字符和后一个字符不全是\w

. 匹配除了换行符以外的任意字符

\d 匹配一位数字

\s 匹配任意的空白符(空格、TAB、换行符、中文全角空格等)

\w 匹配字母或数字或下划线或汉字等

^ 匹配字符串的开始

$ 匹配字符串的结束

反向引用,匹配不是XX的字符

\S 匹配任意不是空白符的字符 \W 匹配任意不是字母数字或下划线或汉字等

\D 匹配任意不是数字的字符

\B 匹配不是单词(正则意义中的单词)开头或结束的位置

[^x] 匹配除了x以外的任意字符

[^aeiou] 匹配除了aeiou以外的任意字符

二、重复

* 重复次数大于等于0

+ 重复次数大于等于1

? 重复次数为0/1

{n} 重复次数为n

{n,} 重复次数大于等于n

{n,m} 重复次数大于等于n小于等于m

三、分支

| 也就是或

四、分组

()

五、后向引用

1、先用()指定一个子表达式,第一个出现的分组分组号为1,第二个为2
2、后向引用用于重复搜索前面某个分组匹配的文本

\b(w+)\b\s\1\b

六、零宽断言

(?=exp) 匹配exp前面的位置
(?<=exp) 匹配exp后面的位置
(?!exp) 匹配后面跟的不是exp的位置
(?<!exp) 匹配前面不是exp的位置

七、贪婪与懒惰

a.*b 匹配aabab 结果:aabab

a.*?b 匹配aabab 结果:aab

正则入门

标签:meta   反向引用   字母   就是   入门   block   空白   意义   char   

原文地址:https://www.cnblogs.com/nadech/p/9188790.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!