最近几天在学习正则表达式,大概思路是先了解规则,再学习re库方法,最后就可以找例子运用总结啦~
1. 规则
1.1 数量表示:
* 表示前一个字符串出现0次及以上(>=0)
+ 表示前一个字符串出现1次及以上(>=1)
?表示前一个字符串出现0次及1次(<=1)
{num} 表示前一个字符串出现的次数,默认贪婪模式;示例 {3} 或 {3,8} 或 {3, }。非贪婪模式会在表达式后面加 ?,匹配符合条件的最少字符
1.2 匹配单个字符:
. 表示匹配除 "\n" 之外的任何单个字符
\w 表示数字、字母及下划线,等价于 [0-9a-zA-Z_];相应的大写\W表示“非”
\b 匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'
\d 表示数字,等价于 [0-9];相应的大写\D表示“非”
\s 表示任意空白字符;相应的大写\S表示“非”
[ ] 表示字符集合;可表示单个字符或范围。比如 [wos] 匹配 'w', 'o', 或者 's';也可以表示字符范围,通过用 '-' 将两个字符连起来。[0-35-9]代表0-3范围与5-9范围的并集。
ps: 在[^ ]表示匹配除了括号内的任意一个字符示,例如 [^0-9]
1.3开头和结尾
^ 在[ ]前表示字符串的开始如^[ ];
$ 表示字符串的结尾
1.4 分组匹配
| 表示匹配两者中任意一个;示例 a|b ,即匹配 a 或 b
(ab) 将括号字符作为一个分组,后续结合group使用
2. 常用的正则表达式
对于一些常用的正则表达式,可以多看多理解,有助于后面的学习。
*图片来自余淮博客
更多请查看原文:https://www.cnblogs.com/geng-geng1997/p/11359112.html