21 lines
3.2 KiB
Markdown
21 lines
3.2 KiB
Markdown
# Flavour support
|
|
|
|
| Flavour | Syntax | Execution | Replacement | Captures | Trace | Native offsets |
|
|
| ------------ | ------------------------------------------------------------------ | ----------------------------------------------- | ---------------------------------------------------- | -------------------------------------------------- | ----------- | ------------------- |
|
|
| ECMAScript | regexpp 4.12.2 grammar; explanations partial/feature-matrix tested | Current browser `RegExp`; feature-matrix tested | Native matches; bounded ECMAScript `GetSubstitution` | Named/numbered; final repeated capture; no history | Unavailable | UTF-16 |
|
|
| PCRE2 | Unavailable in release | Technical spike only; not shipped | Unavailable | Unavailable | Unavailable | Planned UTF-8 bytes |
|
|
| PCRE | Unavailable | Unavailable | Unavailable | Unavailable | Unavailable | Unavailable |
|
|
| Python `re` | Unavailable | Unavailable | Unavailable | Unavailable | Unavailable | Planned code points |
|
|
| Go `regexp` | Unavailable | Unavailable | Unavailable | Unavailable | Unavailable | Planned UTF-8 bytes |
|
|
| Rust `regex` | Unavailable | Unavailable | Unavailable | Unavailable | Unavailable | Planned UTF-8 bytes |
|
|
| .NET | Unavailable | Unavailable | Unavailable | Planned capture history | Unavailable | Planned UTF-16 |
|
|
| Java | Unavailable | Unavailable | Unavailable | Unavailable | Unavailable | Planned UTF-16 |
|
|
|
|
ECMAScript tests cover `g`, `y`, `u`, internal `d`, zero-length iteration,
|
|
named groups, unmatched/empty/repeated groups, lookbehind, backreferences,
|
|
Unicode properties, astral input, replacement and result truncation.
|
|
|
|
Actual browser identity is displayed because ECMAScript behavior can evolve
|
|
with the runtime. Syntax acceptance and engine compilation are separate;
|
|
neither silently rewrites the pattern.
|