2010-06-07 10 views
5

मैं जावा में रेगेक्स के लिए नया हूं और मैं यह नहीं समझ सकता कि अभिव्यक्ति में नामित कैप्चर समूह को कैसे शामिल किया जाए। मैं Confluence's Universal Wiki Converter के लिए स्क्रूर्न छवि कनवर्टर लिख रहा हूं।जावा रेगेक्स में नामित कैप्चर समूहों को कैसे शामिल किया जाए?

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]+)\] 
       ^

मैंने सी # (?<namedgroup>asdf) में से पहले इस तरह इस्तेमाल किया नामित कैप्चर समूहों, लेकिन जावा में नहीं। मैं क्या खो रहा हूँ?

उत्तर

6

जावा नामित कैप्चर का समर्थन नहीं करता है।

स्रोत: Are Java and C# regular expressions compatible?

+0

यह जानना अच्छा है, धन्यवाद! – jrummell

+0

आपका स्वागत है :) –

+5

यह अब जेडीके 7 में है: http://stackoverflow.com/a/415635/1449525 – Patrick

संबंधित मुद्दे