You can "parse" the expression using the index function: Index(Expression_Definition,FieldName).
But first you need to change your data model to something similar to the picture below. When you have done that, you can create the bridge table between Expressions and Fields using the Index function in a where clause.
Thank you Henric! The index(...) function works well, even in the current data model. However, I have noticed that this function (at least in the current data model) is quite expensive, ramping up memory and taking some time to calculate.
The data model is more involved than the representation I sent, meaning that any changes would affect several other components of the application.
Thanks again for sharing this well-thought through and 'meaty' response!