搜索没有元音的所有单词

时间:2014-07-07 09:57:26

标签: regex powershell

我有一个文件" dic.txt"我需要搜索所有不包含元音的单词。

$dic = gc "dic.txt"
$v = @("aeiou")
foreach ($line in $dic){$line | ?{$_ -notcontains $v}}

但它没有用。

2 个答案:

答案 0 :(得分:0)

试试这个:

$dic = gc "dic.txt"

foreach ($line in $dic)
{
    $line | ? { $_ -notmatch 'a|e|i|o|u' }
}

答案 1 :(得分:0)

如果每行有一个单词,可以这样:

Select-String '(?i)^(?:(?![aeiou])[a-z-])+$' 'dic.txt'

<强>解释

  • (?i)使其不区分大小写
  • ^锚点断言我们位于字符串的开头
  • (?:(?![aeiou])[a-z])匹配一封不是aeiou
  • 的字母
  • +重复一次或多次
  • $锚点断言我们位于字符串的末尾