My understanding right now:
You have to set up the FIND RegEx with an alternation so that it has both a success and a failure point.
As the REPLACE have too possibilities too: (?n:true_expression:false_expression)

Absolutely correct. I like your FIND RegEx better. It will be much easier to use than mine. Just adding the zero or more switch makes it much simpler than a non-matching alternation grouping.

What helped me the most in figuring out how it works was how EmEditor highlights all matches when you do a search. When I tried your first search, only the first “Test Price” line was highlighted, but when I removed the final “(d)”, all the lines were marked. This showed me that the problem was with the RegEx.

The first and foremost thing to remember is that the WHOLE RegEx expression must match before you can do any further matching and testing with a SUBexpression.

BTW, good idea 😆 of you:
Replace: (?4:too expensive:affordable)

Thanks! 😀