【问题标题】:commandline match part of string命令行匹配字符串的一部分
【发布时间】:2014-04-13 12:01:08
【问题描述】:

我在几个文本文件中有大量 15 个字符的字母数字字符串,每行一个。我想查找前 11 个字符(后 4 个可以是任何字符)为以下任意字符的任何字符串:

  1. 所有号码(例如:111111111112394、12345678901PxCJ)
  2. 所有字母都一样(区分大小写)(例如:aaaaaaaaaaXF5r)
  3. 所有字母,可以不同(区分大小写)(例如:abcdefghijkXF5r, BAKSFIUQMGAXF5r)
  4. 所有字母都一样(不区分大小写)(例如:AaaAaAAAaAAXF5r)

一开始我很不擅长创建正则表达式模式,但是

  1. 只有前 11 个字符很重要,并且
  2. 我希望能够使用 Windows 命令行选项 FINDSTR 这样做。如果FINDSTR 不够用(它使用非标准正则表达式),我可以编写一个快速的 C# 程序来执行此操作。

有什么建议吗?

【问题讨论】:

    标签: c# regex windows string command-line


    【解决方案1】:

    如果我理解正确,您应该使用以下

    [\w\d]{11,11}
    
    Options: case insensitive
    
    Match a single character present in the list below «[\w\d]{11,11}»
        Exactly 11 times «{11,11}»
        A word character (letters, digits, etc.) «\w»
        A single digit 0..9 «\d»
    

    工具

    无需创建 C# 程序,只需使用已有的工具即可。

    先试试http://www.wingrep.com/

    然后在Total Commander中查看Alt+F7

    我不得不建议安装 GOW 以在 cmd.exe 中获取 linux 功能

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-02
      • 1970-01-01
      • 2012-06-15
      • 2019-10-18
      • 2014-07-20
      • 2017-07-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多