15-正则表达式
- 正则表达式常用符号
表达式符号 | 符号功能 |
---|---|
. | 任意字符 |
\w | 数字、字母、下划线 |
\W | 非数字、字母、下划线 |
\d | 数字 |
\D | 非数字 |
\s | 空白、换行、制表符 |
\S | 非空白、换行、制表符 |
^ | 开头 |
$ | 结束 |
\b | 单词边界 |
\B | 非单词边界 |
- 组合符号
符号 | 功能 |
---|---|
[ ] | 匹配 [ ] 中出现的任意一个字符 |
[ ^ ] | 匹配不在 [ ] 中出现的任意一个字符 |
* | 匹配0次或者多次 |
+ | 匹配1次或这多次 |
? | 匹配0次或者1次 |
| | 匹配满足竖线前后内容的任何一方 |
( ) | 让()中的正则条件编程一个整体,进行整体操作 |
{N} | 匹配N次 |
{N , } | 匹配至少N次 |
{M , N} | 匹配至少M次,最多N次 |
[0-9] | 匹配任意一个数字字符 |
[a-z] | 匹配a到z之间的任意一个字母字符 |
[A-Z] | 匹配A到Z之间的任意一个字母字符 |
[a-zA-Z] | 匹配任意一个字母字符 |
- 注意
- 正则中:\ [] {} () * + ? ^ | $ 这些字符,都有特殊的意义,所以要在正则表达式中单纯的表达这些符号,需要在符号前面加反斜杠‘ \ ’
- '-' [] ^ \ 在括号中可能是特殊字符,需要加 \
- . {} () * + ? $ |在括号中可以不用加\,来表示字符
- 常用方法
方法 | 功能 |
---|---|
compile ( 正则字符串 ) | 将正则表达式字符串转换成对象 |
fullmatch(正则表达式,需要匹配的字符串) | 完全匹配 |
.group ( ) | 获取匹配到的内容 |
.span ( ) | 获取匹配到的范围 |
.start ( ) | 获取匹配到的开始下标 |
.end ( ) | 获取匹配到的结束下标 |
.string | 判断字符串是否是某个字符串 |
match (正则表达式,字符串) | 不完全匹配;从头开始匹配 |
search ( 正则表达式,字符串 ) | 获取整个字符串中第一个符合正则条件的子串 |
findall ( 正则表达式,字符串) | 获取所有满足正则条件的子串 |
.finditer ( 正则表达式,字符串) | 同上,返回的是一个迭代器 |
.split ( 正则表达式,字符串 ) | 按照匹配到的内容进行切割 |
sub ( 正则表达式,新的字符串,原字符串 ) | 用心的内容替换匹配到的子串 |
文章图片
易竹小居士.jpg
推荐阅读
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- kcj|kcj|2019.04.15-2019.04.21
- W12L15-L16-电商热点-内容电商
- 正则匹配
- 周检视20180415--0421
- 正则表达式中增加变量
- sed及正则表达式
- 孩子的艰难考研路2015.04
- 是我自己的故事
- Java8|Java8 Collections.sort()及Arrays.sort()中Lambda表达式及增强版Comparator的使用