正则表达式的基本使用

1、元字符:’\b’,代表单词的开关或结尾
1.1、使用正则表达式hi,会匹配除了hi本身外,所有包含hi的单词,如him,history…
1.2、\bhi\b则只能匹配单词hi;

2、元字符:’.’和’*’,
2.1、’.’匹配除换行符外的所有字符,’*’指执行任意次匹配;
2.2、如:\bhi\b.*\bLuck\b 以单词hi开头并且以Luck单词结尾同一行的句子;

3、元字符:’\d’,代表数字
3.1、0\d\d-\d\d\d\d\d\d\d\d\d 表示匹配格式如010-12345678这样的数字
3.2、上面还可以写成0\d{2}-\d{8},'{}’表达重复次数,并且必须重复该次数;

4、元字符:’\s’、’\w’
4.1、’\s’匹配任意的空白符(包括空白符、包括空格、制表符、换行符、中文全角空格等);
4.2、’\w’匹配字母或数字或下划线或汉字
4.3、\ba\w*\b:以’a’开头的任意单词;
4.4、\d+:匹配一位或更多位数字;PS:’*’与’+’的区别在于前者为任意次,后者至少1次;
4.5、\b\w{6}\b:6个字符的单词

5、元字符:’^’和’$’
5.1、’^’表示匹配的开始,’$’表示匹配的结束
5.2、^\d{5,12}$:匹配5-12位数字组合;

6、常用元字符
代码| 说明
. | 匹配除换行以后的任意字符
\w | 字母、数字、下划线、汉字
\d | 数字
\s | 任意空白符(空格、换行、Tab)
\b | 单词的开头或结尾
^ | 字符串的开始
$ | 字符串的结束

7、常用的限定符
代码/语法 说明
* | 重复任意次
+ | 重复一次及以上
? | 重复零次或一次
{n} | 重复n次
{n,} | 重复n次及以上
{n,m} | 重复n到m次

8、字符类
8.1、[0-9]与\d意思完全一致;
8.2、[a-zA-Z0-9_]与\w在不考虑中文的情况下意思一致;
8.3、\(?0\d{2}[)-]?\d{8}:匹配010-88888888、01088888888、(010)88888888,可拆分为
‘\(?’ + ‘0’ + ‘\d{2}’ + [)-]? + \d{8}

9、条件分支
9.1、上述表达式中,类似(010-88888888或010)88888888这样的也会匹配成功,这是不合理的;
9.2、0\d{2}-\d{8}|\(0\d{2}\)\d{8}使用或将两种情况分开匹配使得要么使用’-‘可么使用'()’;

10、分组
10.1、网络ip地址中的某一位:2[0-4]\d|25[0-5]|[1]?\d\d?
10.2、匹配ip地址则使用(2[0-4]\d|25[0-5]|[1]?\d\d?\.){3}(2[0-4]\d|25[0-5]|[1]?\d\d?)

11、反义
代码\语法 说明
\W 非(字母、数字、下划线、汉字)
\S 非空白字符
\D 非数字字符
\B 非单词开头或结尾
[^x] 除x以外的所有字符
[^aeiou] 除aeiou以外所有字符

Leave a Reply