我是Java正则表达式的新手,我不知道如何在表达式中包含命名的捕获组。我正在为Confluence的Universal Wiki Converter编写一个ScrewTurn图像转换器。这就是我所拥有的:
String image = "\\[image(?<align>auto)?\\|\\|{UP\\(((?<namespace>\\w+)\\.)?(?<pagename>[\\w-]+)\\)}(?<filename>[\\w- ]+\\.[\\w]+)\\]";
Pattern imagePattern = Pattern.compile(image, Pattern.CASE_INSENSITIVE);
它在抛出此异常Pattern.comiple()
:
java.util.regex.PatternSyntaxException: Unknown look-behind group near index 19
\[image(?<align>auto)?\|\|{UP\(((?<namespace>\w+)\.)?(?<pagename>[\w-]+)\)}(?<filename>[\w- ]+\.[\w]+)\]
^
我以前在C#中使用过这样的命名捕获组(?<namedgroup>asdf)
,但在Java中没有使用过。我想念什么?
Java不支持命名捕获。
资料来源:Java和C#正则表达式兼容吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句