# Replacement

{% hint style="info" %}
Starting from Pro version **0.9.1-alpha**, VNTranslator supports writing native JS RegExp using the syntax: `/Regexp/flags.`

The instructions below describe the old syntax, which is still supported for compatibility.
{% endhint %}

## Syntax&#x20;

`["Regexp", "Flags", "newSubstr/replacerFunction"], [...]`

## Parameters

* **Regexp** \
  A regular expression object.
* **Flags**\
  Regular expressions have optional flags that allow for functionality like global searching and case-insensitive searching.

| Flag | Description                                                                                                                                                                                                                  |
| ---- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `d`  | Generate indices for substring matches                                                                                                                                                                                       |
| `g`  | Find all matches rather than stopping after the first match                                                                                                                                                                  |
| `i`  | If `u` flag is also enabled, use Unicode case folding                                                                                                                                                                        |
| `m`  | Treat beginning and end characters (`^` and `$`) as working over multiple lines. In other words, match the beginning or end of *each* line (delimited by  or ), not only the very beginning or end of the whole input string |
| `s`  | Allows `.` to match newlines                                                                                                                                                                                                 |
| `u`  | Treat `pattern` as a sequence of Unicode code points                                                                                                                                                                         |

* **newSubstr (replacement)**\
  The String that replaces the substring specified by the specified regexp or substr parameter
* **replacerFunction (replacement)**\
  A function to be invoked to create the new substring to be used to replace the matches to the given regexp or substr

## Return Value

A new string, with all matches of a pattern replaced by a replacement

***

### Examples

```
#Replace JP Char:
["ロキ", "g", "Loki"], ["オーディン", "g", "Odin"], ["フェンリル", "g", "Fenrir"]

#Remove Vars & Tags:
["({[^}]*})|(<[^>]*>)|({[^}]*})|(\\[[^\\]]*])", "gm", ""]

#Bubstitution with BackReference:
["^(.*)$", "g", "Hi, $1"]
["(\\w+)\\s+\\[(\\d+)]", "g", "$1[$2]"]

```

| RegExp                                | Source Text                                 | Result             |
| ------------------------------------- | ------------------------------------------- | ------------------ |
| \[": ?(\d+)", "gm", ""]               | Character : Hello. : 10 : 09 : 10 : 30      | Character : Hello. |
| \["(\[^]\*):", "gm", ""]              | Day 29 - Monday: Morning: Character: Hello. | Hello.             |
| \[": (\[^]\*)", "gm", ""]             | Hello.: -AAA: +BBB: 123                     | Hello.             |
| \["Day((.\*?):){2}", "gm", ""]        | Day 29 - Monday: Morning: Character: Hello. | Character: Hello.  |
| \["(\b\S.+\b)(?=.\*\1\b)", "gms", ""] | Monday Monday Monday                        | Monday             |
|                                       |                                             |                    |
