Linux笔记之通配符和正则表达式的区别
code review!
参考笔记
1.Linux笔记之通配符和正则表达式的区别
2.C++笔记之C语言中的换行符和转义符
文章目录
- Linux笔记之通配符和正则表达式的区别
-
- 1.通配符概念
- 2.通配符和正则表达式的区别
- 3.C++或C语言中有没有通配符?
- 4.Linux Bash脚本中的通配符
- 5.Linux Bash脚本中的`set -f`和`set +f`
1.通配符概念
通配符(Wildcard)是一种特殊字符或符号,用于在搜索、匹配和筛选字符串或文件时代表一个或多个未知字符。通配符的主要作用是允许模糊匹配,而不必精确指明每个字符,从而简化查找和匹配工作。
以下是一些常见的通配符示例:
- *:匹配零个或多个任意字符。例如,
*.txt
可以匹配所有以.txt
结尾的文件。 - ?:匹配任意单个字符。例如,
file?.txt
可以匹配file1.txt
、file2.txt
等,但不匹配file10.txt
(因为10
占用了两个字符)。 - SQL 通配符:
- %:匹配零个或多个字符。例如,
LIKE 'A%'
可以匹配所有以 A 开头的字符串。 - _:匹配单个字符。例如,
LIKE '_B'
可以匹配长度为两且第二个字符为 B 的字符串。
- %:匹配零个或多个字符。例如,
- 正则表达式中的通配符:
- .(点号):匹配除换行符以外的任意单个字符。
通配符广泛应用于文件系统、数据库查询、正则表达式以及许多编程环境中,为用户提供了强大的模式匹配和筛选能力。
2.通配符和正则表达式的区别
通配符和正则表达式不是同一个概念,虽然它们都用于模式匹配,但作用、语法和应用场景都有很大区别:
1.目的和应用场景
- 通配符:主要用于文件名或简单字符串的匹配。例如,在 Shell 中使用
*.txt
匹配所有以.txt
结尾的文件。通配符通常适用于简单的文件查找或命令行传参。 - 正则表达式:是用来匹配复杂文本模式的强大工具。它不仅可以匹配简单字符,还可以匹配复杂的字符组合、数量、位置等,常用于文本搜索、替换和验证操作。
2.语法和表达能力
- 通配符:一般具有较简单的语法&