I think you have a point. It would be very useful to be able to have ⎕RE filter the results for you.
In experimenting with your specific case, I came across another use-case that might warrant another flag: One that does not return the full match, but only the parenthesised subexpressions (this used to be the default in my initial draft version). Now I have to use 1↓ to remove this.
Here is my somewhat realistic test case that takes the log file, and extracts the date and the name of the service that was started or stopped:
file ← ⎕FIO[49] "/some/file/name"
x ← "^([a-zA-Z]{3} [0-9]+ [0-9]{2}:[0-9]{2}:[0-9]{2}).*: (Started|Stopped) (.*)$" ⎕RE file
result ← ⊃ 1↓¨ ({⍬≢⍵}¨x) / x
⍴ result
┏→━━━━━┓
┃7269 3┃
┗━━━━━━┛
This is a lot more complicated than it needs to be. The two new flags mentioned would completely remove the last line and replace it with a simple pair of ⎕RE["XY"] flags.
Regards,
Elias