Answer:
SELECT 
REGEXP_REPLACE(
 REGEXP_REPLACE('TType=SEND|Status=OK|URL=min://j?_a=3&ver=1.1|day=3',
  '(TType|URL)=[^|]*\|?', '','g'),
'\|$', '');
Explanation:
- The - .*?part in your pattern, although not greedy, consumes colons as well, so doesn't behave as intended. This is fixed by- [^|]*that consumes any non colon character, zero or more times.
 
- Then you would also need to add the global flag 'g', in order to replace all occurences of pattern, as described in the documentation. 
- Finally, in case a parameter you need to eliminate occurs last (since the parameters can appear in any order), you need to add an extra replacement step to eliminate a residual colon at the end of the string. 
For example without the extra step, the following
SELECT
REGEXP_REPLACE('Status=OK|URL=min://j?_a=3&ver=1.1|day=3|TType=SEND',
  '(TType|URL)=[^|]*\|?', '','g');
produces
Status=OK|day=3|
while, addding the extra step, the following
SELECT 
REGEXP_REPLACE(
 REGEXP_REPLACE('Status=OK|URL=min://j?_a=3&ver=1.1|day=3|TType=SEND',
  '(TType|URL)=[^|]*\|?', '','g'),
'\|$', '');
produces the desired
Status=OK|day=3