正则表达式


正则表达式完成字符串的匹配搜索,在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           |

Comments