Я работаю с регулярным выражением строки, чтобы разбить строку ниже
String input = "( Customer.browse == \"Car Loan\" ) AND ( Campaign.period BETWEEN 2400 AND 600 ) "
+ "AND ( Customer.eligibity == TRUE ) AND ( Campaign.campaign_name == \"Browse To Start\") "
+ "AND ( Customer.application_started == \"Car Loan\" ) AND ( Time.currenttime BETWEEN 800 AND 2000 ) "
+ "THEN ( Notification.message == SUPPRESS)";
Мой класс токенайзера строки такой, как показано ниже
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringRegexClass {
public ArrayList<String> stringTokenizer(String str) {
ArrayList<String> tokenList = new ArrayList<String>();
Pattern pattern = Pattern.compile("[(\")]|\\w+.\\w+.\\w+|\\w+.\\w+|==");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
tokenList.add(matcher.group());
}
return (tokenList);
}
}
И я получаю вывод, как показано ниже, когда я передаю строка к вышеуказанному классу
![enter image description here](https://i.stack.imgur.com/tCkyc.png)
Я хочу разбить строки в скобках ( Time.currenttime BETWEEN 800 AND 2000 ) and ( Campaign.period BETWEEN 2400 AND 600 )
, как показано ниже
![enter image description here](https://i.stack.imgur.com/VZNC5.png)
Я пробовал разные способы, но ни один из них не работал. Подскажите, пожалуйста, какие изменения мне нужно внести в мое выражение регулярного выражения, чтобы оно заработало