3 ms·
As ^ and $ are implicit, you can opt out of them simply by affixing `.*`.
by Sharlin 3y ago
As ^ and $ are implicit, you can opt out of them simply by affixing `.*`.
- zeroimpl 3y agoOnly when the ^ or $ were at the start/end of your string is it simple. Eg: (a|b|^)(c|d|^)foo Rewriting without ^ can require much longer regex.
- wizofaus 3y agoIsn't that just ((a|b)?(c|d)|c|d)?foo Unless you mean it as a search expression, in which case it's more like ((.*a|.*b)(c|d)|c|d)?foo Which I have to admit was a lot harder to figure out than I thought it would be (and may not even be right!)
- zeroimpl 3y agoYeah the latter. In an engine supporting ^ and $, searching for this (a|b|^)(c|d|^)foo is equivalent to searching for this ^((.*a|.*b)(c|d)|c|d)?foo.*$ And in this context you can drop the leading/trailing ^/$ since they are implicit.