替换 powershell 中的正则表达式值
replace regex value in powershell
- 来自以下行:
[1;32mget[0m /dir/dir/dir {} [oiid:197,uiid:7522] [32m200[0m (676ms)
- 将其转换为:
获取/dir/dir/dir{}[oiid:197,uiid:7522]200(676ms)
- 任何关于正则表达式的建议请值 200 可以是任何数字,值 get 可以是任何 http 方法。
- 我试过了
$_.replace("[[\d+m]","").replace('[[1;\d+m]',"").replace('[[\d+]m]',"")
} | Set-Content $newfilepath```
您可以使用 -replace
运算符和正则表达式执行以下操作:
$string = '[1;32mget[0m /dir/dir/dir {} [oiid:197,uiid:7522] [32m200[0m (676ms)'
$string -replace '\[\d.*?m'
\[
匹配 [
并注意它需要转义以进行文字匹配,因为 [
对正则表达式是特殊的。 \d
是一个数字。 .*?
匹配尽可能少的字符,直到匹配 m
。
String class Replace()
方法不支持正则表达式。所以你不能在里面使用像 \d
这样的正则表达式。
- 来自以下行: [1;32mget[0m /dir/dir/dir {} [oiid:197,uiid:7522] [32m200[0m (676ms)
- 将其转换为: 获取/dir/dir/dir{}[oiid:197,uiid:7522]200(676ms)
- 任何关于正则表达式的建议请值 200 可以是任何数字,值 get 可以是任何 http 方法。
- 我试过了
$_.replace("[[\d+m]","").replace('[[1;\d+m]',"").replace('[[\d+]m]',"")
} | Set-Content $newfilepath```
您可以使用 -replace
运算符和正则表达式执行以下操作:
$string = '[1;32mget[0m /dir/dir/dir {} [oiid:197,uiid:7522] [32m200[0m (676ms)'
$string -replace '\[\d.*?m'
\[
匹配 [
并注意它需要转义以进行文字匹配,因为 [
对正则表达式是特殊的。 \d
是一个数字。 .*?
匹配尽可能少的字符,直到匹配 m
。
String class Replace()
方法不支持正则表达式。所以你不能在里面使用像 \d
这样的正则表达式。