I want to upgrade my rxjs code to the new syntax. to do so I use vscode and "find and replace" by regex.
the old syntax:
.pipe(
catchError((err) => {
...
})
)
.subscribe((res) => {
...
});
the new syntax is:
.subscribe({ next: (res) => { ... }, error: (err) => { ... });
I try to do with this regex I built but I seems that the regex is wrong and not sure why because in that regex I find what between catchError
and subscribe
. So how to make it work in the correct way?
\.pipe(\s\ScatchError(.*).subscribe(.*)
Also how can I replace everywhere I match this pattern to new pattern? regex101.com
You can use
See the regex demo.
Details:
^
- start of a line\.pipe\(
- a literal.pipe(
text\n
- a line break\s*
- 0+ whitespacescatchError
- a literal word([\w\W]*?\}\))
- Group 1: any zero or more chars, as few as possible, up to and including the})
substring\n\s*
- a line break and 0+ whitespaces\)
- a)
char\s*
- 0+ whitespaces\.subscribe
- a literal.subscribe
string([\w\W]*?\}\))
- Group 2: any zero or more chars, as few as possible, up to and including the})
substring;$
- a;
char at the end of the line.