返回

正则表达式系列:学习Linux特殊符号,掌握文本处理利器

后端

一、特殊符号

1. 引号系列

对于Linux大部分命令通用,四剑客目前单独记忆与使用即可

引号 含义 示例
单引号 所见即所得,单引号里面的内容会原封不动输出 echo 'hello world'
双引号 和单引号类似,对双引号里面的特殊符号会进行转义 echo "hello world"
反斜杠 转义字符,用于取消特殊符号的特殊含义 echo \t

2. 反斜杠

反斜杠是一个转义字符,用于取消特殊符号的特殊含义。例如,反斜杠可以用来转义换行符、制表符和引号等特殊符号。

反斜杠 用途 示例
\n 换行符 echo "hello\nworld"
\t 制表符 echo "hello\tworld"
" 双引号 echo "hello "world""

3. 点号

点号是一个通配符,可以匹配任何字符。例如,正则表达式“.txt”可以匹配任何以“.txt”结尾的文件。

点号 用途 示例
. 匹配任何字符 grep . /etc/passwd
.* 匹配任意长度的字符串 grep .* /etc/passwd

4. 星号

星号是一个重复符,可以匹配任意数量的字符。例如,正则表达式“a*”可以匹配任意数量的“a”字符。

星号 用途 示例
* 匹配任意数量的字符 grep a* /etc/passwd
a*b 匹配以“a”开头、以“b”结尾的任意长度字符串 grep a*b /etc/passwd

5. 问号

问号是一个可选符,可以匹配零个或一个字符。例如,正则表达式“a?b”可以匹配“ab”或“b”。

问号 用途 示例
? 匹配零个或一个字符 grep a?b /etc/passwd
a?b 匹配“a”后面跟着零个或一个“b”的字符串 grep a?b /etc/passwd

6. 加号

加号是一个重复符,可以匹配一个或多个字符。例如,正则表达式“a+”可以匹配一个或多个“a”字符。

加号 用途 示例
+ 匹配一个或多个字符 grep a+ /etc/passwd
a+b 匹配以“a”开头、以“b”结尾的字符串,且“a”字符出现一次或多次 grep a+b /etc/passwd

7. 中括号

中括号用于定义字符集。例如,正则表达式“[abc]”可以匹配“a”、“b”或“c”中的任何一个字符。

中括号 用途 示例
[abc] 匹配“a”、“b”或“c”中的任何一个字符 grep [abc] /etc/passwd
[a-z] 匹配小写字母 grep [a-z] /etc/passwd
[0-9] 匹配数字 grep [0-9] /etc/passwd

8. 花括号

花括号用于指定重复次数。例如,正则表达式“a{2}”可以匹配两个“a”字符。

花括号 用途 示例
{n} 匹配n个字符 grep a{2} /etc/passwd
{n,} 匹配至少n个字符 grep a{2,} /etc/passwd
{n,m} 匹配n到m个字符 grep a{2,4} /etc/passwd