代码之家  ›  专栏  ›  技术社区  ›  valiD

使用批处理在文本文件中查找电话号码regex

  •  -3
  • valiD  · 技术社区  · 7 年前

    这是我第一次尝试批处理文件。 我需要从一个文本文件中提取所有电话号码,并将它们存储在一个单独的文件中。任何有10个数字的字符串都是电话号码。

    @echo off setlocal enableDelayedExpansion (   for /f %%A in (
        'findstr "^\d{10}" print.txt'   ) do (
    
        echo ?????   ) )>newFile.txt
    

    这是我能做到的。

    指纹。txt(源文件)如下所示

     dsfgsf 445h ghsr 454 0775344623 0766555444 789 963 09 hgs dsfgsf 445h
     0754655321 ghsr 454 0771344623 0766222444 789 963 09 hgs
    

    我希望我的目标文件看起来像这样

    0775344623
    0766555444
    0754655321
    0771344623
    

    或者逗号/空格分隔-这无关紧要。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Compo    7 年前

    使用你的正则表达式你可以利用 PowerShell 从批处理文件中:

    @PowerShell "GC 'print.txt'|%%{[Regex]::Matches($_,'\d{10}')}|%%{$_.Value}">"newfile.txt"