17 个案例带你 5 分钟搞定 Linux 正则表达式
原创17 个案例带你 5 分钟搞定 Linux 正则表达式
正则表达式是 Linux 系统中非常强劲的文本处理工具,它可以帮助我们迅速定位、匹配、替换文本。下面,我们将通过 17 个案例,让你在 5 分钟内掌握 Linux 正则表达式的使用。
案例 1:匹配单个字符
使用正则表达式匹配单个字符非常明了,只需使用方括号 `[]` 包裹需要匹配的字符即可。
[abc] # 匹配 a、b 或 c 中的任意一个字符
案例 2:匹配任意字符
点号 `.` 可以匹配任意单个字符,但需要注意点号在正则表达式中具有特殊含义,需要使用反斜杠 `\` 进行转义。
.\* # 匹配任意单个字符
案例 3:匹配数字
使用正则表达式匹配数字可以使用 `\d` 或 `[0-9]`。
\d # 匹配任意单个数字
[0-9] # 匹配任意单个数字
案例 4:匹配字母
使用正则表达式匹配字母可以使用 `\w` 或 `[a-zA-Z]`。
\w # 匹配任意单个字母或数字或下划线
[a-zA-Z] # 匹配任意单个字母
案例 5:匹配大小写字母
使用正则表达式匹配大小写字母可以使用 `[a-zA-Z]`。
[a-zA-Z] # 匹配任意单个大小写字母
案例 6:匹配特定范围数字
使用正则表达式匹配特定范围数字可以使用 `[0-9]` 或 `\d`。
[0-9] # 匹配 0 到 9 之间的任意单个数字
\d # 匹配 0 到 9 之间的任意单个数字
案例 7:匹配特定范围字母
使用正则表达式匹配特定范围字母可以使用 `[a-zA-Z]`。
[a-zA-Z] # 匹配 a 到 z 或 A 到 Z 之间的任意单个字母
案例 8:匹配特定字符串
使用正则表达式匹配特定字符串可以使用引号 `"` 包裹需要匹配的字符串。
"hello" # 匹配字符串 "hello"
案例 9:匹配重复的字符
使用正则表达式匹配重复的字符可以使用星号 `*`。
a* # 匹配 0 个或多个 a
案例 10:匹配指定次数的字符
使用正则表达式匹配指定次数的字符可以使用 `{}`。
a{2} # 匹配 2 个 a
a{2,3} # 匹配 2 个或 3 个 a
案例 11:匹配选择分支
使用正则表达式匹配选择分支可以使用竖线 `|`。
a|b # 匹配 a 或 b
案例 12:匹配起初和完成位置
使用正则表达式匹配起初和完成位置可以使用 `^` 和 `$`。
^hello$ # 匹配字符串 "hello"
案例 13:匹配单词边界
使用正则表达式匹配单词边界可以使用 `\b`。
\beh\b # 匹配 "beh" 单词
案例 14:匹配非单词边界
使用正则表达式匹配非单词边界可以使用 `\B`。
\beh\B # 匹配 "beh" 单词中的任意字符
案例 15:匹配分组
使用正则表达式匹配分组可以使用括号 `()`。
(a|b)c # 匹配 "ac" 或 "bc"
案例 16:匹配非分组
使用正则表达式匹配非分组可以使用 `(?!...)`。
a(?!b) # 匹配 "a",但不匹配 "ab"
案例 17:匹配重复的分组
使用正则表达式匹配重复的分组可以使用 `(?:...)`。
a(?:b|c)d # 匹配 "abd" 或 "acd"
通过以上 17 个案例,相信