Toggle theme
문제를 잘 정의하는 것은 문제를 절반 해결한 것이다. - 2023.12
사용자 도구
Toggle theme
로그인
사이트 도구
검색
도구
문서 보기
이전 판
PDF로 내보내기
Fold/unfold all
역링크
최근 바뀜
미디어 관리자
사이트맵
로그인
>
최근 바뀜
미디어 관리자
사이트맵
현재 위치:
start
»
wiki
»
programming
»
pattern
wiki:programming:pattern
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== Ant style pattern ====== ===== 설명 ===== ^ 표기 ^ 설명 ^ | ? | 1개의 문자와 매칭 (matches single character) | | * | 0개 이상의 문자와 매칭 (matches zero or more characters) | | * * | 0개 이상의 디렉토리와 파일 매칭 (matches all files / directories) | ===== 사용 예 ===== <code java> import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; import org.junit.Test; import org.springframework.util.AntPathMatcher; public class AntStylePatternMatcherUtilTest { @Test public void antStylePatternTest() { // double asterisks assertThat(true, is(checkAntPattern("/static/**", "/static/a.jpg"))); assertThat(true, is(checkAntPattern("/static/**", "/static/css/a.css"))); assertThat(true, is(checkAntPattern("/static/**", "/static/js/a.js"))); assertThat(true, is(checkAntPattern("/static/**", "/static/img/a.jpg"))); assertThat(true, is(checkAntPattern("/static/**", "/static/a/b/c/d/e/f/g/a.jpg"))); assertThat(true, is(checkAntPattern("/static/**", "/static"))); assertThat(true, is(checkAntPattern("/static/**", "/static/"))); // single asterisks assertThat(true, is(checkAntPattern("/static/*", "/static/a.jpg"))); assertThat(true, is(checkAntPattern("/static/*", "/static/namkyuProfilePicture.jpg"))); assertThat(false, is(checkAntPattern("/static/*", "/static/a/test.jpg"))); assertThat(false, is(checkAntPattern("/static/*", "/static/a/b/c/d/test.jpg"))); assertThat(true, is(checkAntPattern("/static*/*", "/static/test.jpg"))); assertThat(true, is(checkAntPattern("/static*/*", "/static1/test.jpg"))); assertThat(true, is(checkAntPattern("/static*/*", "/static123/test.jpg"))); assertThat(true, is(checkAntPattern("/static*/*", "/static-123/test.jpg"))); assertThat(true, is(checkAntPattern("/static*/*", "/static~!@#$%^&*()_+}{|/test.jpg"))); assertThat(false, is(checkAntPattern("/static*/*", "/static12/a/test.jpg"))); assertThat(false, is(checkAntPattern("/static*/*", "/static12/a/b/test.jpg"))); // double and single combine assertThat(true, is(checkAntPattern("/static*/**", "/static/a.jpg"))); assertThat(true, is(checkAntPattern("/static*/**", "/static1/a.jpg"))); assertThat(true, is(checkAntPattern("/static*/**", "/static/a/a.jpg"))); assertThat(true, is(checkAntPattern("/static*/**", "/static/a/b/a.jpg"))); assertThat(true, is(checkAntPattern("/static*/**", "/static/a/b/c/a.jpg"))); assertThat(true, is(checkAntPattern("**/static/**", "a/static/a/b/c/a.jpg"))); assertThat(true, is(checkAntPattern("**/static/**", "a/b/static/a/b/c/a.jpg"))); // question-mark assertThat(true, is(checkAntPattern("/static-?/**", "/static-a/a.jpg"))); assertThat(true, is(checkAntPattern("/static-?/**", "/static-a/b/c/a.jpg"))); assertThat(true, is(checkAntPattern("/static-?/*", "/static-a/abcd.jpg"))); assertThat(true, is(checkAntPattern("/static-?/???.jpg", "/static-a/abc.jpg"))); } private boolean checkAntPattern(String pattern, String inputStr) { return matches(pattern, inputStr); } public static boolean matches(String pattern, String inputStr) { AntPathMatcher antPathMatcher = new AntPathMatcher(); return antPathMatcher.match(pattern, inputStr); } } </code> ===== Ref ===== [[https://lng1982.tistory.com/169|Ant style pattern 정리]] \\ {{tag>주레피 antpattern 앤드패턴}}
/volume1/web/dokuwiki/data/pages/wiki/programming/pattern.txt
· 마지막으로 수정됨: 2023/01/13 18:44 (바깥 편집)
문서 도구
문서 보기
이전 판
역링크
PDF로 내보내기
Fold/unfold all
맨 위로