# regex2excel **Repository Path**: ilooli/regex2excel ## Basic Information - **Project Name**: regex2excel - **Description**: 一个将正则匹配结果输出为excel文件的工具 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2022-03-24 - **Last Updated**: 2024-07-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 一个将正则表达式匹配结果输出为excel表格的工具 ### 让数据拆分更简单 - 根据输入的正则表达式(必须进行分组命名)和传入的目标文件,进行正则匹配后将结果以excel表格输出 - 默认输出文件表头是分组名称,由于正则分组不可用中文,所以可以传入一个分组名称中英文映射map,来让输出表格表头为指定中文 ### 使用方式: 1. 无分组名称映射,将使用正则表达式中的分组名称作为excel表格的表头输出 ```java import cc.ilooli.regex2excel.Regex2Excel; import java.io.File; class Test { public void test() { // 带分组名称的正则表达式 String regex = "(?(?:.*)?BM\\d+(?E)?\\w*)-(?\\d+)(?(?:HU)?[CLMH])?(?[ZP])?"; // 需要进行拆分的目标数据,格式:String | InputStream | File String target = "BM30-125MZ\r\nBM3E-400HP\r\nBM30L-630P"; // 输出的excel文件名 String fileName = "test-excel.xlsx"; // 调用方法执行拆分,获取excel文件。该方法会在指定目录以指定文件名生成文件,返回File可用于后续操作 File file = Regex2Excel.init(regex).target(target).execute().get(fileName); } } ``` 生成的excel文件如下: !!!图床挂了 2. 使用分组名称映射,将使用分组名称的映射作为表头输出 ```java public class Test { public static void main(String[] args) { // 带分组名称的正则表达式 String regex = "(?(?:.*)?BM\\d+(?E)?\\w*)-(?\\d+)(?(?:HU)?[CLMH])?(?[ZP])?"; // 分组名称映射,可进行部分名称映射 Map nameMap = new HashMap<>(16); nameMap.put("series", "系列"); nameMap.put("E", "电子式"); nameMap.put("icu", "分断等级"); // 需要进行拆分的目标数据,格式:String | InputStream | File String target = "BM30-125MZ\r\nBM3E-400HP\r\nBM30L-630P"; // 输出的excel文件名 String fileName = "test-excel.xlsx"; // 调用方法执行拆分,获取excel文件。该方法会在指定目录以指定文件名生成文件,返回File可用于后续操作 File file = Regex2Excel.init(regex, nameMap).target(target).execute().get(fileName); } } ``` 生成数据如图: !!!图床挂了 3. 若正则表达式的完全匹配结果与目标值不一致,则错误信息列会有信息提示,方便进行捷星结果审阅,如图: !!!图床挂了 ### 项目依赖 jar包中未打包依赖,如运行报错请导入regexPlus和easyExcel依赖. - Lombok:简化开发 ```xml org.projectlombok lombok 1.18.22 provided ``` - regexplus:正则表达式增强,支持条件匹配等 ```xml info.codesaway regexplus 2.0.0 ``` - easyExcel:将匹配结果输出为excel ```xml com.alibaba easyexcel 3.0.5 ``` ### 如果本项目对你有帮助,请给个Star吧