我需要拆分以下字符串((OPERATING_CARRIER ='AB'或OPERATING_CARRIER ='AB'OR(OPERATING_CARRIER ='VA'AND(FLIGHT_NO = 604或FLIGHT_NO = 603)))):
OPERATING_CARRIER='AB'
OPERATING_CARRIER='AB'
OPERATING_CARRIER='VA'
FLIGHT_NO=604
FLIGHT_NO=603
Run Code Online (Sandbox Code Playgroud)
我尝试了下面这段代码
String syntax = "(OPERATING_CARRIER='AB' OR OPERATING_CARRIER='AB' OR (OPERATING_CARRIER='VA' AND (FLIGHT_NO=604 OR FLIGHT_NO=603)))";
List < String > matchList = new ArrayList < String > ();
Pattern regex = Pattern.compile("\\(([^)]*)\\)");
Matcher regexMatcher = regex.matcher(syntax);
while (regexMatcher.find())
{
matchList.add(regexMatcher.group(1));
System.out.println(regexMatcher.group(1));
}
Run Code Online (Sandbox Code Playgroud)
我得到的输出为OPERATING_CARRIER ='AB'或OPERATING_CARRIER ='AB'OR(OPERATING_CARRIER ='VA'AND(FLIGHT_NO = 604或FLIGHT_NO = 603)