正则表达式是什么

正则表达式,也称作正规表示法,是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割,匹配、査找及替换操作。

这种枯燥的概念难理解,其实,正则表达式是用来匹配文件中的字符串的方法。它会先把整个文本分成一行一行的字符串,然后从每行字符串中搜索是否有符合正则表达式规则的字符串,如果有则匹配成功,如果没有则匹配失败。

比如,我们需要在某班级的学生中找出有"LAmp72"班级号的学员,这个班级号的前两个字符是大写字母,最后两个字符是数字,如果不使用正则表达式,那么Shell是无法匹配所有的"LAmp72"字符串的。

前面章节给大家介绍过正则表达式和通配符的区别(正则表达式用来在文件中匹配符合条件的字符串,通配符用来匹配符合条件的文件名)。其实这种区别只在 Shell 中适用,因为用来在文件中搜索字符串的命令,如 grep、awk、sed 等可以支持正则表达式,而在系统中搜索文件的命令,如 ls、find、cp 等不支持正则表达式,所以只能使用 Shell 自己的通配符来进行匹配了。