正则表达式的基本概念

 第一次写博客,记录一下学习Linux的过程啦~
 主要内容来自mooc上的《Linux开发环境及应用》

正则表达式的概念

正则表达式可以用来描述一个字符串模式

正则表达式的元字符

. (圆点)

可以匹配任意单字符

* (星号)

可匹配0次或任意多次
如:
12*4
可以匹配124,1224,124(2的次数任意)
[a-z][0-9] *
可以匹配a1,b65,e4657(数字次数任意)

[

表示集合

\ (反斜线)

转义符号

^

在首部时有特殊意义,否则与其自身匹配
如:123$
匹配文件中行尾的123,不在行尾的123字符匹配

$

在尾部时有特殊意义,否则与其自身匹配
如:^printf
匹配行首的printf字符串,不在行首的printf串不匹配

这六个字符在正则表达式中与有特殊的意义,不能与自身匹配。用反斜线****可以消除这六个特殊字符的特殊含义。
如:end. ------------只与字符串end.匹配
其他字符与其自身匹配。
注意 转义字符\ 后除了元字符之外不该出现其他字符。
如:\u
这样的组合被视为undefined(未定义的),后出的软件可能会有特殊的解释

单字符正则表达式基本用法

1.在一对方括号之间的字符为集合的内容
如:[abcd]可以与a或b或c或d匹配
圆点、星号、反斜线在方括号内时,代表它们自己
如:[*.]可以与\或*或.相匹配

2.用-(减号)定义一个区间,减号在最后,则失去表示区间的意义。
如:[a-z] [A-Z] [a-zA-Z0-9]
[ad-] 能与3个字符匹配
注意 [][]集合包含左右中括号两个字符

3.用^表示补集, ^不在开头,则失去其表示补集的意义
^在开头,则表示与集合内字符之外的任意字符匹配
如:[^a-z]匹配任一非小写字母
[a-z^]能匹配27个单字母

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值