Java 为什么这不是有效的正则表达式

Java 为什么这不是有效的正则表达式,java,regex,web-services,Java,Regex,Web Services,我在解析这个'(([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; In

我在解析这个
'(([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)

我们将非常感谢您在这方面提供的任何帮助。

最后的右括号是不匹配的。尝试删除它:

'((([A-Z][,]+)+)([A-Z]?))|([A-Z])'
或与之匹配:

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

最后一个右括号不匹配。尝试删除它:

'((([A-Z][,]+)+)([A-Z]?))|([A-Z])'
或与之匹配:

'(((([A-Z][,]+)+)([A-Z]?))|([A-Z]))'
试试这个:

'(((([A-Z][,]+)+)([A-Z]?))|([A-Z]))'
您缺少一些括号。

试试这个:

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

缺少了一些括号。

在正则表达式的最后一个位置有一个额外的结束括号。删除它,然后再试一次

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

在正则表达式的最后一个位置有一个额外的结束括号。删除它,然后再试一次

((([A-Z][,]+)+)([A-Z]?))|([A-Z])
你有六个“)”而只有五个“(”

问候 雨果·佩德罗萨(Hugo Pedrosa)你有六个,只有五个

问候
雨果·佩德罗萨(Hugo Pedrosa)

我认为这是因为
。因为它是一个特殊的字符。试着像这样使用它
[\,]
@viktorovich:这不应该是个问题。我认为这是因为
。因为它是一个特殊的字符。试着像这样使用它
[\,]
@viktorovich:这不应该是个问题。