Рассмотрим следующую строку в качестве входных данных. Второй & третий И являются избыточными. Я хочу удалить его.Регулярное выражение или разбор строк для вложенных скобок
Входной
AND(AND(string("test message")),filter(AND(OR(source:string("XYZ"),source:string("ABC")))))
Я хочу вывод как
AND(string("test message"),filter(OR(source:string("XYZ"),source:string("ABC"))))
В основном входная строка имеет и оператор используется, но есть только один аргумент задан, это делает ввести неверная строка. Я хочу изменить строку для удаления AND так, чтобы в ней был указан только один аргумент.
Какой должен быть наилучший подход. Регулярное выражение или синтаксический анализ строк. Моя строка может быть очень длинной.
Я проверил несколько сообщений & Кажется, что регулярное выражение не рекомендуется, особенно если оно слишком много вложенных.
Пожалуйста, предложите лучший способ справиться с этим делом.
Некоторые входные & их вывод
1. И (строка ("" Тестовое сообщение ""))
string(""test message"")
И (И (строка ("" Тестовое сообщение "")), фильтр (AND (OR (источник: строка ("" XYZ ""), источник: строка ("" ABC "")))))
И (строка ("" тестовое сообщение "") фильтр (OR (источник: строка ("" XYZ ""), источник: строка ("" ABC ""))))
И (строка ("" тестовое сообщение ""), фильтр (ИЛИ (источник: строка ("" XYZ ""), источник: строка ("" ABC "")))) И (строка ("" Тестовое сообщение ""), фильтр (ИЛИ (источник: строка ("" XYZ ""), источник: строка ("" АВС ""))))
Annu
вы хотите только второй и третий 'AND' быть удален? ничего более-менее? – aelor
Не хотите ли вы также удалить связанные скобки? – sshashank124
@ sshashank124 - yes Я хочу удалить связанную скобку –