正则语法

2020-05-15  本文已影响0人  lsh的学习笔记

匹配任意字符(单个)

(.)匹配任意字符。
如果本身是“.”,可以用反斜杠转义。

匹配字母和数字

(\w)匹配:数字、大小写字母、下划线。
(\W)匹配:(\w的补集)。

匹配数字

(\d)匹配阿拉伯数字。
(\D)匹配阿拉伯数字(\d的补集)。

匹配空白字符

(\s)匹配空白字符:空格、制表符、断行等。
(\S)匹配非空白字符(\s的补集)

字符集合

([选择范围])匹配括号中的任意一个字符
示例:
([a-z])方括号里面算一个字符,a-z 表示a到z之间的任意一个字符。
如果是中文,一般用Unicode,比如([\u4e00-\u9fa5]),\u表示Unicode,4e00是16进制编码,可以转成十进制。

重复一次或多次

[范围]+ 重复一次或多次。即加号前面的一个字符能重复一次或多次。

重复零个或多个

[范围]* 星号表示前面的一个字符能出现0次或多次。

重复零个或一个

[范围]? 问号表示出现0次或1次。

指定重复范围(重复a到b次)

[范围]{1,4} 一次到4次
[范围]{2} 只能2次
[范围]{2,} 2次或多次

花括号里可以指定相对精确的次数。其实 + * ?都是花括号的简写,花括号的功能最强大、最灵活。

如果想打断,可以用\b ,word boundary,单词边界。

分组匹配

()用小括号表示一组,常用于替换。

张三aa,李四bb
(.+)aa,(.+)bb
1 打2 == 张三 打 李四

上一篇 下一篇

猜你喜欢

热点阅读