Java – Ant path style patterns

antjavapathpattern matching

What are the rules for Ant path style patterns.

The Ant site itself is surprisingly uninformative.

Best Answer

Ant-style path patterns matching in :

The mapping matches URLs using the following rules:

  • ? matches one character
  • * matches zero or more characters
  • ** matches zero or more 'directories' in a path
  • {spring:[a-z]+} matches the regexp [a-z]+ as a path variable named "spring"

Some examples:

  • com/t?st.jsp - matches com/test.jsp but also com/tast.jsp or com/txst.jsp
  • com/*.jsp - matches all .jsp files in the com directory
  • com/**/test.jsp - matches all test.jsp files underneath the com path
  • org/springframework/**/*.jsp - matches all .jsp files underneath the org/springframework path
  • org/**/servlet/bla.jsp - matches org/springframework/servlet/bla.jsp but also org/springframework/testing/servlet/bla.jsp and org/servlet/bla.jsp
  • com/{filename:\\w+}.jsp will match com/test.jsp and assign the value test to the filename variable

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/util/AntPathMatcher.html