Valide una expresión booleana con corchetes en C #

Quiero validar una cadena en C # que contiene una expresión booleana entre paréntesis. La cadena solo debe contener los números 1-9, corchetes, "O", "Y".

Ejemplos de buenas cuerdas:

"1 Y 2"

"2 o 4"

"4 Y (3 O 5)"

"2"

Y así...

No estoy seguro de si la expresión regular es lo suficientemente flexible para esta tarea. ¿Hay una buena forma corta de lograr esto en C #?

Respuestas a la pregunta(6)

Su respuesta a la pregunta