首页 > 技术文章 > 使用正则表达式生成匹配的字符串

DSH- 2021-07-06 11:26 原文

我们在开发过程中,有时会需要给指定字段生成指定规范的值,这时候就需要用到正则表达式了,使用正则表达式生成指定格式的字符串,代码如下:

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

 

推荐阅读