这是我在这里的第一个问题。我刚刚开始使用 Powershell。
假设我有一个文本文件,我只想匹配长度大于 10 个字符的行。所以我做了一个非常简单的正则表达式。
$reg = "^\w{0,10}$"
我使用 notmatch 运算符。
$myTextFile | Select-String -NotMatch $reg
这是行不通的。我也试过
$reg = "^[a-zA-Z0-9]{0,10}$"
但这也不起作用。
对我有什么线索吗?非常感谢!
最佳答案
您不需要正则表达式匹配。只需这样做:
Get-Content $myTextFile | ?{$_.Length -gt 10}
如果你想用正则表达式来做,点匹配任何字符。这将工作...
Get-Content $myTextFile | Select-String -NotMatch '^.{0,10}$'
...但这更简单:
Get-Content $myTextFile | Select-String '.{11,}'
关于regex - 查找所有长度大于 N 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18156707/