Rexを使用して文字列配列を生成

3460 ワード

プロジェクトでは、正規表現をよく使用しますが、正規表現でデータを生成するツールがあります.正規表現の文法は忘れましたか?ここを見てください.正規表現に詳しいなら
さあ、本題に入りましょう.このTOOLの名前はRegular Expression Explorationです.ここからダウンロード.現在のバージョンは1.0 releaseです.Rexはコマンドラインツールです
具体的な用法はCMDの下で実行することができて用法を見ることができて、これは.Netのプログラム参照して、次のコードで目的の文字列配列を生成することができます.
   1:          /// <summary>
   2:          /// Generates the test.
   3:          /// </summary>
   4:          /// <remarks>Author Petter Liu  http://wintersun.cnblogs.com </remarks>
   5:          [Test]
   6:          public void GenerateTest()
   7:          {
   8:              string regex = @"^1(3[4-9]|5[012789]|8[78])\d{8}$";
   9:              RexSettings settings = new RexSettings(regex) { k = 10, encoding = CharacterEncoding.ASCII};
  10:              var results = RexEngine.GenerateMembers(settings);
  11:              foreach (var result in results)
  12:              {
  13:                  Console.WriteLine(result);
  14:              }
  15:          }
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
出力:
18897190518188893496911879228066818831202949157898245981599889039213709912389187799920481396789288915928882992
ここでは携帯電話番号の正規表現を使用しています.設定生成数は10であり、ASCIIを符号化する.選択肢はたくさんあります.そのメンバーを見ることができます.これらの文字列データが何に使われているかはあなた次第です.
Author: Petter Liu   http://www.cnblogs.com/wintersun
このPOSTがあなたに役に立つことを望んでいます.