In order to insert after the `
` tag, we must first find it. We can use the regular expression pattern `pattern:` for that.
In this task we don't need to modify the `` tag. We only need to add the text after it.
Here's how we can do it:
```js run
let str = '......';
str = str.replace(//, '$&Hello
');
alert(str); // ...Hello
...
```
In the replacement string `$&` means the match itself, that is, the part of the source text that corresponds to `pattern:`. It gets replaced by itself plus `Hello
`.
An alternative is to use lookbehind:
```js run
let str = '......';
str = str.replace(/(?<=)/, `Hello
`);
alert(str); // ...Hello
...
```
As you can see, there's only lookbehind part in this regexp.
It works like this:
- At every position in the text.
- Check if it's preceeded by `pattern:`.
- If it's so then we have the match.
The tag `pattern:` won't be returned. The result of this regexp is literally an empty string, but it matches only at positions preceeded by `pattern:`.
So we replaces the "empty line", preceeded by `pattern:`, with `Hello
`. That's the insertion after ``.
P.S. Regexp flags, such as `pattern:s` and `pattern:i` can also useful: `pattern://si`. The `pattern:s` flag makes the dot `pattern:.` match a newline character, and `pattern:i` flag makes `pattern:` also match `match:` case-insensitively.