2012-02-13 13 views
6

Pattern.CANON_EQ के साथ संकलित नियमित अभिव्यक्ति पर कोई सीमा नहीं है।`Pattern.compile (" (?: U00e9) ", पैटर्न। कैनन_ईक्यू) क्यों फेंकता है?

java.util.regex.PatternSyntaxException: Unmatched closing ')' near index 11 
((?:é)|é)|e)́) 
    ^

ध्यान दें कि पैटर्न सामान्यीकृत स्ट्रिंग है: हालांकि

Pattern.compile("(?:\u00e9)",Pattern.CANON_EQ); 

एक अपवाद फेंकता है। यह जेआरई में एक बग की तरह दिखता है, लेकिन मुझे समस्या ट्रैकर में ऐसी कोई बग नहीं मिल रही है।

+0

मैं एक अलग त्रुटि, बेजोड़ समापन ')' पाने के सूचकांक 13 यहाँ, '(? :(?: ई) के पास है | é) | ई))',? अंतिम ')' इंगित किया गया है। यह दो अतिरिक्त उद्घाटन '(' या 'ASEGII char के साथ' \ u00e9' और ')' के बीच नहीं फेंकता है। –

उत्तर

4

लगता है कि यह इस है: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4867170

+0

ओह लड़का। यह 2003 से एक बग है! ऐसी बग रखने के लिए स्वीकार्य है, लेकिन यह दस्तावेज़ीकरण में स्पष्ट रूप से संकेत दिया जाना चाहिए! –

+0

मजाकिया बात यह है कि यह बग आईबीएम जेडीके में डुप्लिकेट किया गया है –

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