Sono nuovo di regex in Java e non riesco a capire come includere i gruppi di cattura denominati in un'espressione. Sto scrivendo uno ScrewTurn Image Converter per Confluence's Universal Wiki Converter. Questo è quello che ho:Come includere gruppi di acquisizione denominati in java regex?
String image = "\\[image(?<align>auto)?\\|\\|{UP\\(((?<namespace>\\w+)\\.)?(?<pagename>[\\w-]+)\\)}(?<filename>[\\w- ]+\\.[\\w]+)\\]";
Pattern imagePattern = Pattern.compile(image, Pattern.CASE_INSENSITIVE);
E 'lanciando questa eccezione 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]+)\]
^
Ho usato gruppi di acquisizione denominati come questo prima in C# (?<namedgroup>asdf)
, ma non in Java. Cosa mi manca?
Buono a sapersi, grazie! – jrummell
Di niente :) –
Lo fa ora in JDK 7: http://stackoverflow.com/a/415635/1449525 – Patrick