asp.net(c#) 使用Rex正则来生成字符串数组的代码

600 查看

这儿.如果你熟悉正则表达式

,让我们进入正题.这个TOOL的名称叫Regular Expression Exploration. 你可以从这儿下载 .目前的版本是1.0 release. Rex是一个命令行工具,

具体用法可以在CMD下执行便可以看到用法,这个是.net的程序.我们可以引用它,然后用下面的Code来生成我们想要的字符串数组.

复制代码 代码如下:

/// <summary>
/// Generates the test.
/// </summary>
/// <remarks>Author Petter Liu http://wintersun.cnblogs.com </remarks>
[Test]
public void GenerateTest()
{
string regex = @"^1(3[4-9]|5[012789]|8[78])\d{8}$";
RexSettings settings = new RexSettings(regex) { k = 10, encoding = CharacterEncoding.ASCII};
var results = RexEngine.GenerateMembers(settings);
foreach (var result in results)
{
Console.WriteLine(result);
}
}

输出:

18897190518
18889349691
18792280668
18831202949
15789824598
15998890392
13709912389
18779992048
13967892889
15928882992

这里我们使用的是手机号码的正则表达式.设置生成数是10,编码ASCII.还有很多选项.可以看它的成员.这些字符串数据用来做什么就看你的了.

Author: Petter Liu