根据正则表达式随机生成满足条件的…

前端之家收集整理的这篇文章主要介绍了根据正则表达式随机生成满足条件的…前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
今天QA同学突然提了个需求,能不能根据正则表达式反向随机生成满足表达式格式的字符串.
这个还真挺有意思,对应自动化测试时非常有用,尤其是在写自动化测试的case的时候,如果可以根据规则进行随机生成,测试工作将会大大提高效率.因为我们以前都是用正则进行校验,并没有做类似反向的操作.然后google之
果然有这么个东西.不多说贴代码...这个鬼叫 @H_403_8@Xeger

package com.qunar.xeger;

import nl.flotsam.xeger.Xeger;


public class XegerTest {

public static void main(String[] args) {
String regex = "[0-9]{3}\\.[0-9]{3}\\.[0-9]{3}";
//三位数
Xeger generator = new Xeger(regex);
for (int i = 0; i < 2000; i++) {
String result = generator.generate();
System.out.println(result);
assert result.matches(regex);
}
}
}

结果如下,看来还是挺ok的
 
  
106.433.601
676.317.893
490.884.177
187.327.513
141.045.456
365.366.232
567.664.228
624.774.216
071.483.373
089.802.138
675.559.342
253.742.791
360.112.624
678.587.655
224.510.673
145.617.038
656.584.855
132.857.253
670.638.464
852.831.675
937.487.663
357.717.132
332.717.650
321.358.373
231.876.187
544.841.281
756.875.649
416.405.727
547.757.870
459.842.682
226.621.249
469.582.654
381.678.130
590.769.143

猜你在找的正则表达式相关文章