如何在Java正则表达式中包含命名捕获组?

杰鲁梅尔:

我是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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

嵌套捕获组如何在正则表达式中编号?

正则表达式在Java中的命名组

在JavaScript正则表达式中命名捕获组?

如何在复杂的golang正则表达式捕获中捕获多个组

如何在Go正则表达式中获取捕获组功能

如何访问.NET正则表达式中的命名捕获组?

如何插入包含捕获组括号的字符串作为Raku中的正则表达式?

使用re.findall在正则表达式中捕获命名组

正则表达式:捕获组中的捕获组

正则表达式:如何指定捕获的组应包含特定词

如何在正则表达式中创建动态捕获组?

如何在一个正则表达式中捕获所有正则表达式组?

如何在Javascript正则表达式中捕获组?

如何在多个可选的捕获分组正则表达式中不包含前导空格

如何操作正则表达式命名捕获组

正则表达式组捕获

在Powershell中按正则表达式中的命名捕获组排序

命名正则表达式无法在Raku中捕获

如何捕获正则表达式中的可选组?

如何在熊猫中对命名组使用多个正则表达式

正则表达式捕获:将整个匹配项包含在捕获组中

如何在正则表达式中包含字符

如何在Linux中使用正则表达式捕获组重命名文件?

如何使用 Java 中的正则表达式提取未知顺序的命名组?

如何在我的正则表达式中在 C# 中使用未命名的正则表达式组?

捕获组中的正则表达式捕获组

如何改进我的代码以从正则表达式命名的捕获组中获取整数值?

在处理正则表达式时,R 中是否有命名组捕获机制?

如何在Javascript中的正则表达式中捕获特定的捕获组?