re 模块中常用的元字符
来源:互联网 发布:deepin 删除软件 编辑:程序博客网 时间:2024/05/16 11:45
.
(点号) 匹配除换行符(\n \r)以外的所有字符。要匹配包括“\r\n”在内的任何字符,使用“[\s\S]”的模式。 ^
从字符串首位匹配。书写时必须写在首位,否则匹配为空。 $ 从字符串末尾匹配。书写时必须写在末尾,否则匹配为空。 *
重复匹配任意多次(包括0次)。 +
重复匹配任意多次(不包括0次)。 ?
匹配0次或1次。 {n} n是一个非负整数。匹配确定的n次。 {n,} 至少匹配n次。 {n,m} m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。 [xyz] 字符集。匹配字符集中任何一个字符。 [a-z] 字符集范围。范围内所有的字符都可以匹配。取消其元字符的功能(见注释1)。 \
反斜杠。使元字符失去特殊功能;使部分普通字符实现特殊功能(见注释2)。 ( )
将( ) 之间的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域。 |
将两个匹配条件进行逻辑“或”(Or)运算。注释1 :如果在[ ]里面出现其他的元字符,除例外情况(见注1),那么会取消其元字符的功能,只是普通字符。
-
:如果在[ ]里面表示范围,比如[a-z],则-
有特殊意义,此时匹配时,不会匹配到-
,如果此时还需要匹配-
,那么再在 [ ]里面加一个-
(加在前后都可以)。
^
:与出现在中括号外的意思不同,如果^
出现在中括号里面,则表示取反的意思。比如 [^a,b] 表示除了 a , b(注意:这里的’,’也是一个字符,没有其他的意义) 以外所有的字符都匹配(包括换行符)。注意,如果字符串中有\
,在没转译的时候,匹配的结果是\\
。
注释2 :
\
后面如果跟元字符,那么元字符就失去它代表的特殊意义,变为普通字符。
例如 :*
本代表重复匹配任意多次,\*
就只表示*
这个普通字符(注意\**
和\*\*
表达的是完全不同的两个意思,自己动手试一试)。
\
后面跟部分普通字符,会实现特殊意义。
例如 :\d
匹配任何十进制的数,相当于 [0-9]
\D
匹配任何非数字字符,相当于 [^0-9]
\s
匹配任何空白字符,相当于 [ \t\n\r\f\v]
\S
匹配任何非空白字符,相当于 [^ \t\n\r\f\v]
\w
匹配任何字母和数字字符,相当于 [0-9a-zA-Z]
\W
匹配任何非字母和数字字符,相当于 [^0-9a-zA-Z]
\b
匹配一个特殊边界(非任何字母和数字的都是特殊字符)。
比如 : ‘i am a big man’,用 r’i\b’ 去匹配,只能匹配到 一个 ‘i’ ,因为 ‘big’的’i’后面跟的是’g’,不是特殊字符,故匹配不到。(注意:用这种方法匹配,前面一定要加 ‘r’ 防止转译。’\b’也可以放到前面)
- re 模块中常用的元字符
- Python 正则表达式元字符、re 模块
- Python中re模块常用函数
- Python中re模块常用函数
- 常用的元字符
- Python中RE模块的应用
- [转]Python中RE模块的应用
- Python中RE模块的应用
- [转]Python中RE模块的应用
- Python中RE模块的一点说明
- python中re模块的用法
- [转] Python中RE模块的应用
- python中re模块的使用
- python中re模块的用法
- python中re模块的用法
- Python中re模块的使用
- Python中常用模块re,matplotlib,pandas,sys,mysql
- Python Re模块 常用函数
- JTextField
- 无题
- 深入理解逆序数+八数码原理
- 上传代码到github仓库
- 17.12.13日报
- re 模块中常用的元字符
- 分类模型的评估方法
- SpringMVC 使用@ResponseBody返回json 中文乱码
- 风险投资 & IT风投
- MySQL 数据备份与还原
- Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplicatio
- 安川∑-7S (SGM7J)伺服单元外围元件及基础调试
- 欢迎使用CSDN-markdown编辑器
- java中的外部类和内部类