正则表达式

来源:互联网 发布:网络音箱哪个牌子好 编辑:程序博客网 时间:2024/05/01 14:24

正则表达式分为标准正则表达式和扩展正则表达式

标准正则表达式:仅支持最基本的元字符集
1:行首定位符 ^
表示行首的字符是^后面的那个字符
2:行尾定位符 前面的那个字符
3:单个字符匹配 .
圆点.用来匹配任意的单个字符,包括空格,但是不包括换行符”\n”
4:限定符*
限定符*本身不表示任何字符,用来指定其前面的一个字符必须重复出现0次或者多次。
5:字符集匹配[]
用来指定一个字符集集合的,只要一个字符串中出现了[]内的一个字符就匹配,[]内可以使用-表示连续的字符
[abcd1234] [a-d1-4]表示的都一样
6:字符集不匹配[^]
不匹配[]中的任何内容,用法与[]相同
注意 []里面匹配的都是单个字符而不是一个字符串

扩展正则表达式
1:限定符+
+前面的那个字符必须至少出现一次
2:限定符?
指定前面的那个字符最多出现1次(0 or 1)
3:竖线| 和圆括号()
竖线表示多个正则表达式之间是或的关系,圆括号表示一组可选值的集合,竖线和圆括号常常在一起使用。
注意:要在|和( )前面加\转义
4:自定义次数匹配x{m,n} or x{m} or x{m,} (限定符{}仅仅作用于字符或者集合(“()”表示的是一个集合))
最少出现m次最多出现n次和 只出现m次,最少出现m次
注意:要在{和}前加\转义

POSIX字符类
[:alnum:] 匹配任意一个字母或者数字
[:alpha:] 任意一个字母
[:digit:] 任意一个数字
[:lower:] 任意一个小写字母
[:upper:] 任意一个大写字母
[:space:] 任意一个空白字符,包括空格,制表符,换行符,以及分页符
[:blank:] 空格和制表符
[:punct:] 匹配任意一个标点符号
注意:字符类也需要放在括号中如[[:alnum:]]

运算符的优先级
\ 转义符
[] 方括号表达式
() 分组
*,+ ? {m} {m,}{m,n} 限定符
普通字符
定位符
或运算

0 0
原创粉丝点击