Actually there was a need for $replacex because there was no way to use $replace when the production of one replacement matched the value of another replacement match later on in the string, ie:

Code:
//echo -a $replacex(hello,e,l,l,x) != $replace(hello,e,l,l,x)


It was not a "convenience" addition, it added functionality that was previously not available in that identifier. This is unlike $read, which can still be used by just changing the switch from w to r and modifying the search term slightly. The functionality of case sensitive $read is still available within the same identifier.

Secondly, what is your metric for defining "easier"? The only quantitative way I can think of is to count bytes, so let's do just that:

Here is the most common wildcard scenario of matching "*foo*":

Code:
echo -a $read(file,w,*foo*)
echo -a $read(file,r,foo)


Note that the regex version is also case sensitive. The second line looks "easier" to me, there, if "easy" is defined as "fewer bytes".

The other common scenario of matching foo* or *foo turns into:

Code:
echo -a $read(file,w,foo*)
echo -a $read(file,r,^foo)


They are equivalent in byte size, so I guess neither is easier-- aka: the regex is not harder.

And here is a much less common match like *foo*bar*:

Code:
echo -a $read(file,w,*foo*bar*)
echo -a $read(file,r,foo.*bar)


The regex version is still one character shorter.

I'm not really buying that wildcard matching is any easier. Not only is the regex often shorter, but they are practically equivalent. How is the regex in any of the above examples complicated enough to warrant a new switch? Do you have a specific use case where wildcards can be considered significantly easier by any reasonable metric? If so, show an example. If you don't have a actual example of why you need this over using regex, I reiterate my confusion of why you're asking for something you have no use for.

As a sidenote, if you define "easier" as "I don't know how to write ridiculously simple regex expressions", you can always use the following short alias and continue writing wildcards:

Code:
alias wre return $+(/^,$replace($regsubex($1,/([|\/\\\[\](){}$^.])/g,\\1),*,.*,?,.,&,\S+),$!/,$2)


Then use:

Code:
echo -a $read(file,r,$wre(*foo*bar*,i))
echo -a $read(file,r,$wre(*foo*bar*))


The first line is case insensitive (the ",i" switch), and the latter is case sensitive.