Thank you @saqimtiaz .
The actual usecase is related to my previous question (Filter and Regexp Patterns to Find Transclusion and Back Transclusion) and the solution I got!
Real use-case: I was looking for transclusion and backtransclusion in just one filter
so I wrote (using solution by @telumire and @Mohammad, and @Yaisog) in a viewtemplate:
\define trans-patt() {{$(currentTiddler)$.*}}
\define escapechars-pattern() ([\?\.\*\+\(\)\$\^\\])
<$list filter="""
[all[current]get[text]search-replace:gm:regexp[{{\s*(.*?)\s*(?:}}|\|\||!!)],[###start###$1###end###]split[###start###]] :map[split[###end###]]]
[all[current]search-replace:g:regexp<escapechars-pattern>,[\$1]] :map[all[tiddlers]regexp:text<trans-pattern>]"
""">
</$list>
It seems these are not two separate filters. The first line is passed to second while I have started my second line with [all[...]] which is a filter constructor.