正则表达式

.

. :这个英文句号“.”匹配不包括换行符的一个字符,例如a.b可以匹配abc、acc、a2c、a c,空格也可以匹配;

*

:可以匹配任意数量的字符,例如ab可以匹配abc、abcd、abdkxkdk,只要是ab开头的后面不论多少字符都可以匹配,经常有“.*”表示匹配非换行符任意长度的字符;

{n,m}

{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>

\<word>  :表示精确匹配,例如\<hello>就只会匹配hello字段;

发表评论

邮箱地址不会被公开。 必填项已用*标注