package org.springblade.mdm.commons.contants; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import java.util.regex.Matcher; public class RegExpConstantsTest { @Test public void testFilePattern(){ Matcher m = RegExpConstants.PROGRAM_FILE_PATTERN.matcher("J_YDT290-10-02B-35-A-1-1.txt"); Assertions.assertTrue(m.find()); //零组件带横杠也合理 m = RegExpConstants.PROGRAM_FILE_PATTERN.matcher("J-YDT290-10-02B-35-A-1-1.txt"); Assertions.assertTrue(m.find()); m = RegExpConstants.PROGRAM_FILE_PATTERN.matcher("O0001.TXT"); Assertions.assertFalse(m.find()); //无扩展名也需要匹配 m = RegExpConstants.PROGRAM_FILE_PATTERN.matcher("J_YDT290-10-02B-35-A-1-1"); Assertions.assertTrue(m.find()); //无工序号或版次段 m = RegExpConstants.PROGRAM_FILE_PATTERN.matcher("J_YDT290-A-1-1.TXT"); Assertions.assertFalse(m.find()); //无工序号和 版次段 m = RegExpConstants.PROGRAM_FILE_PATTERN.matcher("J_YDT290-1-1.TXT"); Assertions.assertFalse(m.find()); //无段数段号 m = RegExpConstants.PROGRAM_FILE_PATTERN.matcher("J_YDT290-10-02B-35-A.TXT"); Assertions.assertFalse(m.find()); //段数段号 缺一个 m = RegExpConstants.PROGRAM_FILE_PATTERN.matcher("J_YDT290-10-02B-35-A-1.TXT"); Assertions.assertFalse(m.find()); //缺数号 m = RegExpConstants.PROGRAM_FILE_PATTERN.matcher("J_YDT290-10-02B-35-A-1-.TXT"); Assertions.assertFalse(m.find()); //数号非数字 m = RegExpConstants.PROGRAM_FILE_PATTERN.matcher("J_YDT290-10-02B-35-A-1-e.TXT"); Assertions.assertFalse(m.find()); } }