正则表达式

. 这个英文句号“.”匹配不包括换行符的一个字符,例如a.b可以匹配abc、acc、a2c、a c,空格也可以匹配; * 可以匹配任意数量的字符,例如ab可以匹配abc、abcd、abdkxkdk,只要是ab开头的后面不论多少字符都可以匹配,经常有“.”表示匹配非换行符任意长度的字符; \{n,m\} 跟*不同的是这个可以控制字符出现的次数,n,m是要输入的数字, 例如 grep ‘ab\{2\}c’ file1 这句查询中file1是文件,文件中如果有abbc这样的字段就会被匹配出来,因为b出现了两次; 例如 grep ‘ab\{2,\}c’ file1 这句查询中会匹配file1文件中字符b出现最少两次的所有字段,abbc、abbbbc、abbbbbc 这样的b出现了最少两次的字段都会匹配出来; 例如 grep ‘ab\{2,4\}c’ file1 这句查询中会匹配file1文件中字符b出现2~4次的所有字段,abbc、abbbc、abbbbc 这样的b出现了2~4次的字段都会被匹配出来; ^ 用来匹配以什么开头的行,例如 grep ‘^ab’ file1 用来匹配开头为ab字符的行; $ 用来匹配以什么结尾的行,例如 grep ‘abc$’ file1 用来匹配结尾为abc字符的行; ^$连用的话表示查询的该行为空,因为他们开头到结尾中间什么都没有; [ ] 方括号用于匹配方括号中出现的任一字符,例如 grep ‘[a]‘ file1 表示查询file1中出现过a字符的所有行;[A-Z]用于查询所有大写字母;[A-Za-z]用于查询所有大小写字母;在方括号中^符号表示取反;[^A-D]用于查询非大写字母ABCD中的所有字母; 根据以上学到的正则知识就可以写一个匹配手机号的正则表达式,首先分析一下,手机号十一位其中第一位一定是1第二位可能会是3、4、5、7、8都有可能,后面九位数随机排列所以写出如下正则表达式:”^1[3,4,5,7,8][0-9]\{9\}”; \ 反斜杠表示转义字符; \<word\> 表示精确匹配,例如\<hello\>就只会匹配hello字段;