Linux入门:Shell编程-正则表达式(一)

Linux入门:Shell编程-正则表达式(一)

2017-06-15

正则表达式的概念

 

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。规定一些特殊语法表示字符类、数量限定符和位置关系,然后用这些特殊语法和普

通字符一起表示一个模式,这就是正则表达式(Regular Expression)。

 

正则表达式原理

正则表达式是对文本进行过滤的工具,之所以有过滤文本的功能,因为它定义了一系列的元字符,通过元字符配合其他字符来表达出一种规则。只有符合该规则的文本才能保留下来。

元字符:描述字符的字符。

元字符作用:对表达式的内容,转换以及各种操作信息进行描述。

2017-06-15_171031

 

正则表达式与通配符

 

正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配。grep、awk、sed等命令可以支持正则表达式。

通配符用来匹配符合条件的文件名,通配符是完全匹配。ls、find、cp这些命令不支持正则表达式,所以只能使用shell自己的通配符来进行匹配了。

 

基础正则表达式

2017-06-15_171542

 

限定符“*” 前一个字符匹配0次,或任意多次

1-2017-06-15_1732422-2017-06-15_1733303-2017-06-15_173400