linux正则表达式大全
时间: 2023-09-19 12:05:37 浏览: 97
Linux正则表达式是一种强大的文本处理工具,可以在各种文本编辑器、命令行工具、脚本中使用。下面是一些常用的Linux正则表达式:
1. 匹配任意字符:.
`.` 表示匹配任意字符,除了换行符。例如,`.at` 可以匹配 `bat`、`cat`、`fat` 等单词。
2. 匹配字符集:[]
`[]` 表示匹配方括号中的任意一个字符。例如,`[a-z]` 可以匹配小写字母,`[A-Z]` 可以匹配大写字母,`[0-9]` 可以匹配数字。
3. 匹配重复字符:*
`*` 表示匹配前面的字符出现 0 次或多次。例如,`ab*` 可以匹配 `a`、`ab`、`abb`、`abbb` 等单词。
4. 匹配重复字符:+
`+` 表示匹配前面的字符出现 1 次或多次。例如,`ab+` 可以匹配 `ab`、`abb`、`abbb` 等单词,但不能匹配 `a`。
5. 匹配重复字符:?
`?` 表示匹配前面的字符出现 0 次或 1 次。例如,`ab?` 可以匹配 `a`、`ab` 两个单词。
6. 匹配重复字符:{n}
`{n}` 表示匹配前面的字符出现 n 次。例如,`ab{2}` 可以匹配 `abb`,但不能匹配 `ab` 或 `abbb`。
7. 匹配重复字符:{n,}
`{n,}` 表示匹配前面的字符出现 n 次或更多次。例如,`ab{2,}` 可以匹配 `abb`、`abbb`、`abbbb` 等单词。
8. 匹配重复字符:{n,m}
`{n,m}` 表示匹配前面的字符出现 n 到 m 次。例如,`ab{2,4}` 可以匹配 `abb`、`abbb`、`abbbb`,但不能匹配 `ab` 或 `abbbbb`。
9. 匹配行首:^
`^` 表示匹配行首。例如,`^hello` 可以匹配以 `hello` 开头的行。
10. 匹配行尾:$
`$` 表示匹配行尾。例如,`world$` 可以匹配以 `world` 结尾的行。
11. 匹配单词边界:\b
`\b` 表示匹配单词边界。例如,`\bword\b` 可以匹配单独的单词 `word`。
12. 匹配非单词边界:\B
`\B` 表示匹配非单词边界。例如,`\Bword\B` 可以匹配 `sword`、`words` 等单词中包含 `word` 的情况,但不能匹配 `word`。
13. 匹配分组:()
`()` 表示将其中的表达式作为一个子表达式,并可以对其进行重复、引用等操作。例如,`(ab)+` 可以匹配 `ab`、`abab`、`ababab` 等单词。
14. 反向引用:\n
`\n` 表示引用第 n 个子表达式的内容。例如,`(ab)\1` 可以匹配 `abab`,其中 `\1` 引用第一个子表达式 `(ab)`。
15. 或运算:|
`|` 表示或运算,可以匹配两个表达式中任意一个。例如,`hello|world` 可以匹配 `hello` 或 `world`。
以上是一些常用的Linux正则表达式,使用正则表达式可以更加灵活地处理文本数据。
阅读全文