I am trying to produce a valid URL through the following code:
Fixture.of(MediaResource.class).addTemplate("valid", new Rule() {
{
add("url", regex("http://\\w{10}.com/\\w{5}.jpg"));
}
});
Notice the \w. It sometimes produces words with apostrophes, which are not acceptable. Hence, I tried to use:
regex("http://[a-z]{10}.com/\\w{5}.jpg")
But, although it looks like a valid regex, I get the following exception:
Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed character class near index 10
http://[a-z
^
at java.util.regex.Pattern.error(Pattern.java:1924)
at java.util.regex.Pattern.clazz(Pattern.java:2493)
at java.util.regex.Pattern.sequence(Pattern.java:2030)
at java.util.regex.Pattern.expr(Pattern.java:1964)
at java.util.regex.Pattern.compile(Pattern.java:1665)
at java.util.regex.Pattern.<init>(Pattern.java:1337)
at java.util.regex.Pattern.compile(Pattern.java:1022)
at br.com.six2six.bfgex.interpreter.Parser.parse(Parser.java:34)
at br.com.six2six.bfgex.interpreter.Parser.parse(Parser.java:113)
at br.com.six2six.bfgex.interpreter.Parser.parseQuantified(Parser.java:123)
at br.com.six2six.bfgex.interpreter.Parser.parse(Parser.java:58)
at br.com.six2six.bfgex.interpreter.Parser.parse(Parser.java:113)
at br.com.six2six.bfgex.interpreter.Parser.parse(Parser.java:113)
at br.com.six2six.bfgex.interpreter.Parser.parse(Parser.java:113)
at br.com.six2six.bfgex.interpreter.Parser.parse(Parser.java:113)
at br.com.six2six.bfgex.interpreter.Parser.parse(Parser.java:113)
at br.com.six2six.bfgex.interpreter.Parser.parse(Parser.java:103)
at br.com.six2six.bfgex.interpreter.Parser.parseQuantified(Parser.java:123)
at br.com.six2six.bfgex.interpreter.Parser.parse(Parser.java:58)
at br.com.six2six.bfgex.interpreter.Parser.parse(Parser.java:113)
at br.com.six2six.bfgex.interpreter.Parser.parse(Parser.java:113)
at br.com.six2six.bfgex.interpreter.Parser.parse(Parser.java:113)
at br.com.six2six.bfgex.interpreter.Parser.parse(Parser.java:113)
at br.com.six2six.bfgex.RegexGen.of(RegexGen.java:8)
at br.com.six2six.fixturefactory.function.impl.RegexFunction.generateValue(RegexFunction.java:17)
at br.com.six2six.fixturefactory.Property.getValue(Property.java:37)
at br.com.six2six.fixturefactory.ObjectFactory.processPropertyValue(ObjectFactory.java:232)
at br.com.six2six.fixturefactory.ObjectFactory.createObject(ObjectFactory.java:116)
at br.com.six2six.fixturefactory.ObjectFactory.gimme(ObjectFactory.java:58)
I am trying to produce a valid URL through the following code:
Notice the \w. It sometimes produces words with apostrophes, which are not acceptable. Hence, I tried to use:
But, although it looks like a valid regex, I get the following exception: