用于生成基于正则表达式的随机字符串的Java代码

时间:2016-02-08 11:48:36

标签: java

基于正则表达式生成随机字符串的Java代码。我试过generex库,但它没有提供准确的输出。例如:

       Generex generex = new Generex("^[6-9]\\d{9}$");
       System.out.println(generex.random());

输出为:^ 8677547981 $ 虽然我期待输出为8677547981.似乎generex无法处理像“^”,“$”等特殊字符。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:5)

Generex不需要^$。它创建的内容完全匹配正则表达式,而不是部分匹配。

Generex generex = new Generex("[6-9]\\d{9}");
System.out.println(generex.random());

答案 1 :(得分:2)

Generex使用dk.brics.automaton.RegExp类。它支持另一组正则表达式操作java.util.regex.Pattern。见RegExp API