命令行匹配字符串的一部分

时间:2014-04-13 12:01:08

标签: c# regex windows string command-line

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

  1. 所有数字(例如:111111111112394,12345678901PxCJ)
  2. 所有字母都一样(区分大小写)(例如:aaaaaaaaaaaXF5r)
  3. 所有字母都可以不同(区分大小写)(例如:abcdefghijkXF5r, BAKSFIUQMGAXF5r)
  4. 所有字母都一样(不区分大小写)(例如:AaaAaAAAaAAXF5r)
  5. 我开始创建正则表达式模式非常糟糕,但这更复杂了

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

1 个答案:

答案 0 :(得分:0)

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

[\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功能