2013-05-24 5 views
0

я столкнулся следующее исключением при разборе этого '((([A-Z][,]+)+)([A-Z]?))|([A-Z]))' регулярного выраженияПочему это не действует регулярное выражение

WARNING: Exception message: org.xml.sax.SAXParseException; systemId: file:/u/bin/jakarta-tomcat-5.5.7/webapps/MyService/schema/version/1.2.35/RequestSchema.xsd; 
lineNumber: 1928; columnNumber: 38; InvalidRegex: Pattern value '((([A-Z][,]+)+)([A-Z]?))|([A-Z]))' is not a valid regular expression. The reported error was: 'Can't find resource for bundle java.util.PropertyResourceBundle, key parser.factor.0' at column '{2}'. 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198) 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134) 
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:437) 
com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(XSDHandler.java:4124) 
com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaError(XSDHandler.java:4107) 
com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDAbstractTraverser.reportSchemaError(XSDAbstractTraverser.java:721) 
com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDSimpleTypeTraverser.getSimpleType(XSDSimpleTypeTraverser.java:406) 
com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDSimpleTypeTraverser.traverseSimpleTypeDecl(XSDSimpleTypeTraverser.java:163) 
com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDSimpleTypeTraverser.traverseGlobal(XSDSimpleTypeTraverser.java:104) 
com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.traverseSchemas(XSDHandler.java:1431) 
com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:619) 
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:588) 
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:555) 
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:521) 
com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory.newSchema(XMLSchemaFactory.java:240) 

Любой помощи в этой связи будет высоко оценен.

+0

Я думаю, что это из-за ''. Потому что это это специальный символ. Попробуйте использовать его так: '[\,]' – andriy

+0

@viktorovich: Это не должно быть проблемой. –

ответ

4

Последние закрывающиеся круглые скобки не имеют аналогов. Попробуйте удалить его:

'((([A-Z][,]+)+)([A-Z]?))|([A-Z])' 

или согласующие его:

'(((([A-Z][,]+)+)([A-Z]?))|([A-Z]))' 
0

Попробуйте это:

'(((([A-Z][,]+)+)([A-Z]?))|([A-Z]))' 

Вы были некоторые скобки отсутствуют.

0

У вас есть дополнительная закрывающая скобка в последнем месте вашего регулярного выражения. Удалите его, а затем попытаться

((([A-Z][,]+)+)([A-Z]?))|([A-Z]) 
0

у вас есть шесть ")" и только пять "("

'(((([A-Z][,]+)+)([A-Z]?))|([A-Z]))' 

С уважением Уго Педроса

Смежные вопросы