5

这是我在这里的第一个问题。我刚开始使用 Powershell。

假设我有一个文本文件,我只想匹配长度大于 10 个字符的行。所以我做了一个非常简单的正则表达式。

$reg = "^\w{0,10}$"

我使用不匹配运算符。

$myTextFile | Select-String -NotMatch $reg

这是行不通的。我也试过

$reg = "^[a-zA-Z0-9]{0,10}$"

但这也不起作用。

对我有什么线索吗?非常感谢!

4

1 回答 1

7

您不需要正则表达式匹配。只需这样做:

Get-Content $myTextFile | ?{$_.Length -gt 10}

如果您想使用正则表达式,点匹配任何字符。这将工作...

Get-Content $myTextFile | Select-String -NotMatch '^.{0,10}$'

...但这更简单:

Get-Content $myTextFile | Select-String '.{11,}'
于 2013-08-09T22:44:48.737 回答