У меня есть работа с регулярным выражением в моих выражениях: пример !(FA1_A.i & FA1_M.i)
У меня есть операторы: ! ( ) & |
Операнды имеют имена: [a-zA-Z_]*\.[a-zA-Z_]
Iнаписал Java-код для разделения на токены, но он не делится на операторы и операнды.Это должно быть!, (, FA1_A.i, &, FA1_m.i,).Кто-нибудь может сказать мне, что не так?
String stringOpеrator = "([!|&()])";
String stringOperand = "(([a-zA-Z_]*)\\.([a-zA-Z_]*))";
String reg=stringOpеrator+"|"+stringOperand;
Pattern pattern = Pattern.compile(reg);
Matcher m = pattern.matcher(expression);
// System.out.println("func: " + function + " item: " + item);
while (m.find()) {
int a=m.start();
int b=m.end();
String test=expression.substring(m.start(), m.end());
String g=test;
tokens.add(new Token(expression.substring(m.start() , m.end())));
//m = pattern.matcher(expression);
}