Pattern matching is usually the answer to questions like this, but pattern matching is pretty literal in what you ask for, whether it will successfully match and what it gives you.
Will this do some of what you want?
CE= ConditionalExpression[-Sqrt[1-x-x^2],Inequality[1,LessEqual,x,LessEqual,3]];
CE/.ConditionalExpression[val_,Inequality[lo_,LessEqual,x,LessEqual,hi_]]->{val,lo,hi}
which returns
{-Sqrt[1-x-x^2],1,3}
Asking how to get it to correctly identify the variable you want it to find that is within an unknown expression or even class of expressions and return to you is less literal than I can likely correctly answer with a first guess. Imagine if you were trying to write your string searching code to extract the correct variable name from my function if I knew the kinds of functions that I was going to use and you didn't.