正则表达式中.和*的区别

 

1、

.表示匹配任意字符一次;

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

 

001、R语言中:

> sub("a.c","",c("abcd", "sdacd", "addfcdf"))  ## .表示任意一个字符
[1] "d"       "sdacd"   "addfcdf"
> sub("a*c","",c("abcd", "sdacd", "addfcdf"))  ## *表示匹配前面一个字符0次或任意多次; a*c表示匹配:a0次或任意多次 + c
[1] "abd"    "sdd"    "addfdf"
> sub("a.*c","",c("abcd", "sdacd", "addfcdf")) ## .*表示匹配任意字符0次或任意多次; a.*c表示匹配:a + 任意字符0次多任意多次 + c;
[1] "d"   "sdd" "df"

 

002、shell中

复制代码
root@PC1:/home/test2# cat a.txt
abcd
sdacd
addfcdf
root@PC1:/home/test2# sed 's/a.c//' a.txt     ## .表示任意字符一次; a.c匹配:a + 任一字符一次 + c
d
sdacd
addfcdf
root@PC1:/home/test2# cat a.txt
abcd
sdacd
addfcdf
root@PC1:/home/test2# sed 's/a*c//' a.txt     ## *表示匹配前一个字符0次或任意多次; a*c匹配:a0次或任意多次 + c
abd
sdd
addfdf
root@PC1:/home/test2# cat a.txt
abcd
sdacd
addfcdf
root@PC1:/home/test2# sed 's/a.*c//' a.txt    ## .*表示匹配一个字符0次或任意多次; a.*c匹配:a + 任意字符0次或任意多次 + c
d
sdd
df
复制代码

 

posted @   小鲨鱼2018  阅读(1513)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2021-05-16 c语言 7-1
2020-05-16 vcftools 软件的 安装
点击右上角即可分享
微信分享提示