正则表达式“s.*d”

来源:3-7 复合条件测试

Panda_io

2019-12-23

老师我最近在看正则表达式

. 表示匹配除了换行符外的任意一个字符

* 表示前一个字符匹配0次或任意多次

假设text.txt里面内容是 

aaa

said

soid

suud

sooooood

shell :     grep "s.*d" text.txt

said

soid

suud

sooooood

我就很疑惑 . 表示任意一个非换行字符

当 . 表示 u时候  出现suud 我能理解

当.表示o时,出现sooooood我也能理解

但是当.表示什么的时候会出现 said 和soid呀,因为结果有这两个我就想不通


http://img.mukewang.com/szimg/5e00b99b093a469304370126.jpg


写回答

1回答

酷田

2019-12-23

.代表任意字符,所以.*这里可以理解换成[a-z]*,因此任意字符都能匹配,不能简单代入一个a或者b,可以这么理解

0
2
酷田
回复
Panda_io
哈哈,想通就好,有问题多交流哈……
2019-12-23
共2条回复

掌握Shell脚本编程 360架构师带你进阶Linux高手

30%知识讲解+70%实例操作 掌握Shell脚本编程能力

1641 学习 · 298 问题

查看课程