我们在开发过程中,有时会需要给指定字段生成指定规范的值,这时候就需要用到正则表达式了,使用正则表达式生成指定格式的字符串,代码如下:
pom.xml 中添加一下节点
1 <!-- https://mvnrepository.com/artifact/com.github.krraghavan/xeger --> 2 <dependency> 3 <groupId>com.github.krraghavan</groupId> 4 <artifactId>xeger</artifactId> 5 <version>1.0.0-RELEASE</version> 6 </dependency>
编写一个Util类:
1 import nl.flotsam.xeger.Xeger; 2 3 public class RegexUtil { 4 5 /** 6 * 根据正则表达式生成字符串 7 * @return 8 */ 9 public static String generateByFormat(String pattern){ 10 Xeger generator = new Xeger(pattern); 11 return generator.generate(); 12 } 13 14 public static void main(String[] args) {
//生成包含A-Za-z0-9,长度32位的字符串 15 System.out.println(generateByFormat("[A-Za-z0-9]{32}")); 16 17 } 18 }
通过传入的正则表达式,得到返回的字符串,运行示例:
Uxv716dVV4rfZJ2L0DADhk2duJvS87hM