正则语法
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
2 == 张三 打 李四