В данный момент я работаю с некоторыми логическими и математическими выражениями, заданными как String. К сожалению, необходимо использовать скобки для выражений при использовании символов: '&' и '|' (используется вместо '||' ).
Допустимые выражения:
(x + 2) & (y * 4) | (i - 4)
(5 > 4) | (6y + 4)
Неверные выражения:
x + 2 & y * 4 | i - 4
5 > 4 | 6y + 4
Я пытался проверить строку с помощью RegEx, что-то вроде:
[)][ \t\n\r]*[&][ \t\n\r]*[(]
имеет смысл.
Проблема в том, как найти все '&' и '|' символов и найти наличие рядом скобок?
Редактировать: у меня есть решение, основанное на поиске индекса этих символов, затем в обоих направлениях и в поисках скобок. Может быть, я могу сделать это более простым способом с RegEx?