5

これが私の最初の質問です。私はPowershellを始めたばかりです。

テキスト ファイルがあり、長さが 10 文字を超える行のみを照合したいとします。だから私は本当に単純な正規表現を作りました。

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

そして、notmatch 演算子を使用します。

$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 に答える