In some of our oldest query operators, the arguments to the operators start with dollar symbols ($). For example:
In most (hopefully all) new language additions, we use a dollar ($) prefix for the operator name, but we do not use a dollar for the arguments to the operator. For example:
For the sake of consistency, we should allow the arguments to be provided without the dollar in all the old/existing places. To preserve backwards compatibility we would still support the $-prefix options, but we could deprecate those and encourage migration to the new format.
I hope there are no cases where the grammar would become ambiguous with such a change, but it is worth noting.
as seen, body, args and lang options does not use $ sign in their prefix. to improve consistency, $ sign should be used for these options ($body, $args and $lang).
Why only $regex operator use that option? Why are the two not combined into one like: