如何在java正则表达式中包含命名捕获组?
我不熟悉Java中的正则表达式,不知道如何在表达式中包含命名的捕获组。我正在为你写一个螺旋旋转的图像转换器。这就是我所拥有的:如何在java正则表达式中包含命名捕获组?,java,regex,Java,Regex,我不熟悉Java中的正则表达式,不知道如何在表达式中包含命名的捕获组。我正在为你写一个螺旋旋转的图像转换器。这就是我所拥有的: String image = "\\[image(?<align>auto)?\\|\\|{UP\\(((?<namespace>\\w+)\\.)?(?<pagename>[\\w-]+)\\)}(?<filename>[\\w- ]+\\.[\\w]+)\\]"; Pattern imagePattern = Pat
String image = "\\[image(?<align>auto)?\\|\\|{UP\\(((?<namespace>\\w+)\\.)?(?<pagename>[\\w-]+)\\)}(?<filename>[\\w- ]+\\.[\\w]+)\\]";
Pattern imagePattern = Pattern.compile(image, Pattern.CASE_INSENSITIVE);
我以前在C#
(?asdf)
中使用过这样的命名捕获组,但在Java中没有。我缺少什么?Java不支持命名捕获
来源:在版本7:vs中,Java似乎只会开始支持命名捕获组 另请参见:它现在在JDK 7中有:
java.util.regex.PatternSyntaxException: Unknown look-behind group near index 19
\[image(?<align>auto)?\|\|{UP\(((?<namespace>\w+)\.)?(?<pagename>[\w-]+)\)}(?<filename>[\w- ]+\.[\w]+)\]
^