这是我的第一个问题.我刚刚开始使用Powershell.
假设我有一个文本文件,我想只匹配长度大于10个字符的行.所以我做了一个非常简单的正则表达式.
$reg = "^\w{0,10}$"
Run Code Online (Sandbox Code Playgroud)
我使用notmatch运算符.
$myTextFile | Select-String -NotMatch $reg
Run Code Online (Sandbox Code Playgroud)
这不起作用.我也试过了
$reg = "^[a-zA-Z0-9]{0,10}$"
Run Code Online (Sandbox Code Playgroud)
但这也不起作用.
有什么线索给我?非常感谢!
你不需要正则表达式匹配.这样做:
Get-Content $myTextFile | ?{$_.Length -gt 10}
Run Code Online (Sandbox Code Playgroud)
如果你想用正则表达式做,那么点匹配任何字符.这将有效......
Get-Content $myTextFile | Select-String -NotMatch '^.{0,10}$'
Run Code Online (Sandbox Code Playgroud)
......但这更简单:
Get-Content $myTextFile | Select-String '.{11,}'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1521 次 |
| 最近记录: |