爬虫笔记(八) - 正则表达式
2017-12-25 本文已影响17人
Spareribs
二话不说,我们直接进入正题,首先分享两个比较好的网站:
图形化显示Regulex:点击跳转
正则表达式的在线测试:点击跳转
常用的正则表达语言
| 常用符号 | 用法 |
|---|---|
| ^ | 匹配输入字符串的开始位置 |
| $ | 匹配输入字符串的结尾位置 |
| * | 匹配前面的子表达式零次或多次 |
| ? | 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符 |
| + | 匹配前面的子表达式一次或多次 |
| {n} | n是一个非负整数。匹配确定的n次 |
| {n,} | n是一个非负整数。至少匹配n次 |
| {n,m} | 最少匹配n次且最多匹配m次 |
| | | 指明两项之间的一个选择。要匹配|,请使用| |
| [] | 方括号把一列字符或一个范围括在了一起 (或两者) |
| [^] | 匹配不在类中的任何一个字符 |
| [a-z] | 字母a-z |
| . | 任意字符 |
| \s | 匹配任意单个空白字符 , 主要是空格 |
| \S | 匹配任何非空白字符 |
| \w | 匹配任何单个字符,与[A-Za-z0-9_]功能一样 |
| \W | 用于匹配所有与\w不匹配的字符 |
| [\u4E00-\u9FA5] | 匹配所有中文 |
| () | 1.确定求值的顺序</br>2.捕获子模式 |
| \d | 匹配任意一个数字 (相当于类 [0-9]) |
在使用过程中主要注意下面几个要点
- 非贪婪模式:默认情况下都是贪婪模式,使用?转换成非贪婪模式
- 部分内容需要转移:[] 内的特殊字符(如*)需要转移