I'm trying to accomplish a regex test in velocity. However, I can't get to work. What am I doing wrong?
My code:
#set( $str = "$issue.reporter")
#if($str.matches('/bdo.com/b'))
true
#else
false
#end
Now reporter is john@do.com, but still this test always returns false. The regex is tested in an online regex tester! What would the proper way to do regex testing on strings in a Velocity template?
Community moderators have prevented the ability to post new answers.
1. You need to have \\b instead of /b (two backslashes instead of one for escaping).
2. "matches()" tests the whole string, so you need to match against ".*\\bdo.com\\b.*"
Hi Jan,
Velocity inherits regex syntax from Java language.
You can have a look at the overview in the documentation here: http://download.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html#sum
I think your code should check something like #if($str.matches("do.com"))
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.