Linux中的正则表达式
正则表达式
正则表达式完成字符串的匹配搜索,在Unix系统中,sed、grep、vi等工具都是用regexp规则。
(1) 正则表达式的基本语法
| 符号 | 含义 | 举例 | 匹配 |
| --------------- | ---------------------------------------- | -------------------- | -------------------------- |
| . | 任何字符 | a.. | a后面有两个字符的字符串 |
| ? | 修饰匹配次数,0次或1次 | x? | 0个或1个x |
| ^ | 匹配行首 | ^word | 位于行首的word |
| + | 重复一次或多次 | y+ | 一个--或多个连续的y |
| $ | 行尾 | x$ | 以x结尾的行 |
| * | 重复0次或多次 | w.*s | 以w开头、s结尾的任何字符串 |
| [字符表] | 字符表中的任一字符 | [tT] | 小写字母t或大写字母T |
| [!字符表] | 匹配不属于范围指定内的字符 | [!a-z] | 匹配不是小写字母的字符 |
| [^字符表] | 任一不在字符表中的字符 | [^a-z A-Z] | 任何非字母 |
| \ | 转义字符 | \\n | 匹配换行符 |
| \{min,max\} | 前导正则表达式最少重复min次,最多重复max次 | x\{1,5\} | 最少1个最多5个x |
| \(...\) | 将圆括号中匹配的字符串存储到下一个寄存器中 | \(more\)and\1 | 匹配more and more |
| 表达式|1表达式2 | 匹配表达式1或表达式2 | hello| happy | 匹配hello或happy |