正则表达式

Posted Will.Guo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式相关的知识,希望对你有一定的参考价值。

符号含义举例
.用于匹配除换行符外任意字符grep ‘r..t’ /etc/passwd
*用于匹配前一个字符0次或任意多次grep ‘r*t’ /etc/passwd
\\n,m\\灵活的控制字符的重复次数grep ro2t(只有两次) ;grep ro2,t(至少两次);grep ro2,5t(2-5次)
^匹配开头的字符grep ‘^root’
$匹配结尾的字符grep ‘root$’ ; grep ‘^r.*t$’(以r开头,中间包含任意字符串,以t结尾)
[]匹配方括号中出现的任意字符grep [A-Za-z0-9] ; 注:如果^出现在[]中不表示匹配开头,而表示取反的意思,即[^A-D]:非A-D的字符
|转义
\\< \\>界定单词的左边界和右边界grep ‘\\’
\\d等价于[0-9]
\\w等价于[A-Za-z0-9]
\\W等价于[^A-Za-z0-9]
?匹配前一个字符0次或1次grep ‘ro?t’:可匹配rot rt
+匹配前一个字符1次以上grep ‘ro+t’:可匹配rot root rooot等
|多种规则取“或”电话号: ^0[0-9]2-[0-9]8|^0[0-9]3-[0-9]8 : 匹配区号3-4位,8位尾号长度的电话号,可缩写为^0[0-9]2,3-[0-9]8
()和|混用,用来枚举一系列可替换的字符

正则表达式主要用于文件内容的匹配上,通配符主要用于文件名的匹配上。

文本处理工具


  1. sed(stream editor) 以行为单位的文本处理工具
  2. awk 以列为单位的文本处理工具 $1,$2,$3分别表示第1,2,3列,以此类推,$0表示所有列

使用awk求第三列的和
awk ‘BEGINtotal=0total+=3ENDprint total’  
  使用awk求第三列的平均数  
  awk ‘BEGINtotal=0total+=
3ENDprint total/NR’

以上是关于正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式

正则表达式:邮箱格式和手机号(3-4位区号,7-8位直播号码,1-4位分机号)

js验证电话号码(包括手机,固定电话,带区号,不带区号))

需要一个js正则 手机与电话都可以验证的

java:正则表达式

php正则 匹配 手机、座机号码