I am new to regex in Java and I can't figure out how to include capturing group names in a group. I am writing ScrewTurn image converter for Confluence Universal Wiki Converter . This is what I have:
String image = "\\[image(?<align>auto)?\\|\\|{UP\\(((?<namespace>\\w+)\\.)?(?<pagename>[\\w-]+)\\)}(?<filename>[\\w- ]+\\.[\\w]+)\\]";
Pattern imagePattern = Pattern.compile(image, Pattern.CASE_INSENSITIVE);
He throws this exception in Pattern.comiple():
java.util.regex.PatternSyntaxException: Unknown look-behind group near index 19
\[image(?<align>auto)?\|\|{UP\(((?<namespace>\w+)\.)?(?<pagename>[\w-]+)\)}(?<filename>[\w- ]+\.[\w]+)\]
^
I used the so-called capture groups, as before, in C # (?<namedgroup>asdf), but not in Java. What am I missing?
source
share