regex - 查找所有长度大于 N 的行

标签 regex powershell

这是我在这里的第一个问题。我刚刚开始使用 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/

相关文章:

php - 如何使用正则表达式验证 Twitter 用户名

java - 模式 "Form 1987A"的正则表达式

string - 构建 URL 字符串

email - 在 Powershell 中复制打开的文件

windows - 无法从 Powershell 中的 Windows 搜索生成电子邮件

python - 在 Jupyter Notebook 中执行 Windows PowerShell 命令

C# 字符串操作搜索和替换

java - 正则表达式,在一个句子中匹配两个序列

javascript - 非空白字符的返回值

powershell - 在 PowerShell 中回答 Plink 主机 key 和 KEX 提示