概述
一个正则表达式是一个用来匹配文本的串。不过这个串是代表的是一个具有特定特点的串。
可以使用正则表达式的情况:
命令:Select-String,
操作符:-match,-replace,-split,
-regex参数(可选的)。
默认的,powershell正则表达式不区分大小写。强制区分大小写的方式如下:
对象 | 使之区分的参数 |
---|---|
Select-String | 使用-CaseSensitive参数 |
可选参数(-regex) | 使用-CaseSensitive参数 |
操作符(-match,-replace) | 加前缀c(-cmatch,-csplit,-creplace) |
实例
- 直接匹配
'book' -match 'oo' #输出True,即-match匹配结果是True/False
- [],匹配[]里的任何一个字符。反之,[^abcd]匹配abcd外的任何一个字符
"abcd" -match '[b]' #True
"abcd" -match '[^abc]' #True
"abcd" -match '[^abcd]' #False
- [a-z],[A-Z],[0-9],[ -~],分别匹配小写字母,大写字母,数字,可打印字符
42 -match '[0-9][0-9]' #True,匹配两个数字
- \d匹配任何一个十进制数字(0-9)。相反,\D匹配任何一个非十进制数字。
'Server-01' -match 'Server-\d\d' #True
- \w等效于匹配[a-zA-Z0-9],\W正好相反
'Book' -match '\w' #True
'**?' -match '\w' #False
- .(一个点)匹配任何一个字符(\n除外)