正则表达式
2019-05-24 本文已影响0人
盖小聂
正则表达式 | 描述 | 示例 |
---|---|---|
^ | 行起始标记 | ^luo: 匹配以luo起始的行 |
$ | 行尾标记 | hong$: 匹配以hong结尾的行 |
. | 匹配任意一个字符 | lan.: 匹配lana和lanb,但是不能匹配lana1和lanb2,他只能匹配单个字符 |
[ ] | 匹配包含在[字符]中的任意一个字符 | lan[lan]:匹配lanl,lana或者lann |
[^ ] | 匹配除[^字符]之外的任意个字符 | 9[^01]匹配92,93,但是不匹配91或90 |
[ - ] | 匹配[]中指定范围的任意一个字符 | [1-5]: 匹配1~5的任意一个数字 |
? | 匹配之前的项1次或者0次 | colou?r: 匹配color或colour,但是不能匹配colouur |
+ | 匹配之前的项1次或者多次 | luo-9+: 匹配luo+99、luo+9,但是不能匹配luo- |
* | 匹配之前的项0次或者多次 | co*l: 匹配cl, col, cool等 |
() | 创建一个用于匹配的子串 | ma(tri)?x: 匹配max或matrix |
{n} | 匹配之前的项n次 | [0-9]{3}: 匹配任意一个三位数,[0-9]{3}也可以扩展为[0-9][0-9][0-9] |
{n,} | 之前的项至少需要匹配n次 | [0-9]{2,}: 匹配任意一个两位数和更多为的数字 |
{n,m} | 指定之前的项所必须匹配的最小次数和最大次数 | [0-9]{2,5}: 匹配从两位数到五位数之间的任意一个数字 |
| | 交替:匹配|两边的任意一项 | Oct (1st | 2nd): 匹配Oct 1st或者Oct 2nd |
\ | 转义符可以将上面介绍的特殊字符进行转义 | a\.b匹配a.b,但不能匹配ajb。通过在.之间加上前缀\,从而忽略了.的特殊意义 |