linux/python正则表达式与通配符的不同

1、正则表达式在Python中,可以参考此处

linux/python正则表达式与通配符的不同_第1张图片

2、Linux中的正则表达式与通配符的不同。

首先正则表达式与通配符是完全不一样的东西!

在文本过滤工具里,都是用正则表达式,比如像awk,sed,vi,grep,这些是针对文件的内容的,re是一种字符串处理的表示方式

而通配符多用在文件名上,比如查找find,ls,cp,等等,wtilcard代表的是bash操作接口的一个功能

基本上解释就是通配符是系统命令使用,一般用来匹配文件名或者什么的用在系统命令中,比如在通配符中*可以匹配任意的0个或多个字符。

而正则表达式是操作字符串,以行尾单位来匹配字符串,比如*不能独立使用的,他只匹配任意长度的前面的字符。


》》》》》》》》》》》》

首先来看看Linux中的通配符,下面是鸟哥在私房菜中归纳的:

linux/python正则表达式与通配符的不同_第2张图片

(注意其中的   ?  在 Python与linux的正则表达式中,均是匹配前一个re字符0次或1次,

在Linux中    ?作为通配符是代表一定有一个字符,正则表达式中与之相近的是  .  这个符号,代表一定有一个任意字符的意思)


另外,Linux正则表达式是以行为单位来处理字符串的行为,而Python是针对整个文本

下面介绍grep:

下图引自鸟哥的Linux私房菜

linux/python正则表达式与通配符的不同_第3张图片

下面是grep的进阶用法:

linux/python正则表达式与通配符的不同_第4张图片


下面是一些常用的正则表达式:

linux/python正则表达式与通配符的不同_第5张图片linux/python正则表达式与通配符的不同_第6张图片


你可能感兴趣的:(python,Linux)