os-test > regex
Legend
| Outcomes | ||||||
|---|---|---|---|---|---|---|
| Good | Good | Missing optional | Outside libc | |||
| Partial | Extension | Previous posix | ||||
| Neutral | None | |||||
| Bad | Compile error | Incompatible | Missing header | Undeclared | Undefined reference | Unknown type |
Good. A cell is good if the declaration is present
in the header and can be linked with libc. This outcome means the test
succeeded with the appropriate -D_POSIX_C_SOURCE=202405 or
-D_XOPEN_SOURCE=800 feature macros and the standard
libraries libc, libpthread, libm, librt, and libxnet.
Missing optional. A cell is missing_optional if the test could not be compiled, but the declaration is optional in POSIX and need not be provided.
Outside libc. A cell is outside_libc if the test could be compiled, but had to be linked with another standard library than the ones prescribed by POSIX: libc, libpthread, libm, librt, and libxnet. This may not conform to POSIX depending on the linking options provided by getconf(1)/confstr(3).
Extension. A cell is extension if the test could
not be compiled with the _POSIX_C_SOURCE and
_XOPEN_SOURCE feature macros, but it could instead be
compiled with other system-specific feature macros that provide the
entire API. This outcome means the system header feature macro logic
does not support the latest POSIX.1-2024 standard and only receives
partial credit. This outcome typically indicates a declaration new to
POSIX.1-2024.
Previous posix. A cell is previous_posix if the
test could not be compiled with the
-D_POSIX_C_SOURCE=202405 or
-D_XOPEN_SOURCE=800 feature macros from the POSIX.1-2024
standard, but the test could instead be compiled with the older
-D_POSIX_C_SOURCE=200809L or
-D_XOPEN_SOURCE=700
feature macros from the older POSIX.1-2008 standard. This
outcome means the system header feature macro logic does not support
the latest POSIX.1-2024 standard and only receives partial credit. In
particular, the header did not check if the value was higher than the
supported value, but instead hard-coded the supported values, and
failed to be forward compatible with new standard versions.
None. A cell is none if there is no test data result for that operating system.
Compile error. A cell is compile_error if the test could not be compiled and the error message was not recognized as a more precise error test outcome.
Incompatible. A cell is incompatible if the declaration existed in the header, but had a signature that is incompatible with the standardized declaration. This outcome typically indicates a type error in the declaration. Addressing the issue may require an incompatible ABI change or special compatibility logic.
Missing header. A cell is missing_header if the header did not exist.
Undeclared. A cell is undeclared if the header did not contain the declaration.
Undefined reference. A cell is undefined if the test could be compiled, but could not be linked with the standard library.
Unknown type. A cell is unknown_type if the test could not be compiled and failed because a required type was not declared. In some cases, functions fail because the header omitted a required type for a function and instead declared the function in an alternate fashion with an incompatible alias for the type.
§. The § link on the left of each row links to that row.
regex
This suite tests regular expressions.
Each feature in POSIX regular expressions is tested in both BRE (Basic Regular Expression) mode and ERE (Extended Regular Expression) mode. BRE is not actually a regular expression language, despite the name, because it lacks alternations, and importantly because it has back references, which are mathematically impossible to implement efficiently (unless P=NP IIRC). ERE is the real fully feature POSIX regular expression language, which can be implemented efficiently due to the lack of back references. However, POSIX optionally allows BRE implementations to have all ERE features via a special backslash syntax.
This suite is split into the strict base POSIX tests, which tests every sentence that is mandatory in POSIX; and the nonstandard tests, which tests all the optional behavior as well as common de facto extensions.
Each regular expression feature is exhaustively combined with each other regular expression feature to ensure that the features work together. More complicated combinations are tested that involve three or more features in some interesting cases. Each flag to regcomp and regexec are tested as well with their relevant features.
The POSIX requirements on how regular expressions choose their matches are very specific. They can be a little difficult to interpret at times and can be even more tricky to implement properly. See Chapter 9 in POSIX.1-2024 along with the description of regcomp+regexec for all the official rules. Many tests use a truth table approach where every possible reasonable input is given to each regular expression, so it's more likely that implementation bugs are discovered.
The nonstandard tests check every extension I know of, along with UTF-8 and unicode support, including case sensitivity and the behavior on invalid UTF-8 sequences. It's technically fine to disagree with the nonstandard tests, and they mostly exist to study the availability of extensions, and to make sure they are implemented properly in a common way. However, POSIX does mandate that if some nonstandard features like \| are implemented in BRE, then their semantics must match that of the ERE counterparts. If an implementation chooses to have those extensions, then some of the nonstandard tests must be complied with as well.
Overall this test suite is very comprehensive and should provide a near exhaustive coverage of the regular expression features. I read every relevant sentence in POSIX and made sure a test case covered each sentence. The only exceptions are are as follows:
The REG_MINIMAL flag and the ??, ?, +?, and {}? ERE features are not tested because the POSIX.1-2024 specification appears to have been a rush job. The original proposal was fundamentally flawed, and the attempt to fix it does not appear to have been deliberated in detail. I was left with many questions after reading the text. No system implements those features yet, so I don't have any reference data to make test expectations with. The text is full of potential contradictions that I am unclear how to resolve. For instance, does "X??" prefer to match the empty string or "X"? The cited example of ".?c" matching "abcabc" says that it prefers the "abc" match, but is that really how ungreedy matching works? It contradicts the longest overall match rule, and I believe instead usually ungreedy matching loses to over competing greedy matching expressions, but the overall longest match is preferred. Then there's "a*?" where * is usually required to match at least one thing, if at all possible, so on the input "aa" does this pattern prefer the empty string or "a"? There is also the curious case of (X){1,1}?, where it's unclear if the whole X subexpression itself becomes ungreedy? I don't really have enough information to implement the features, let alone test them.
The test suite may miss more advanced implementation bugs that only appear on specifically complicated regular expressions. I had to stop somewhere with the combinatorial explosion of test cases.
| aix AIX 7.3 powerpc |
dragonfly DragonFly 6.4-RELEASE x86_64 |
freebsd FreeBSD 15.0-RELEASE amd64 |
haiku Haiku R1~beta5+development x86_64 |
hurd GNU 0.9 i686-AT386 |
linux Linux 7.1.12+deb14-amd64 x86_64 |
macos macOS 26.5.2 Darwin 25.5.0 arm64 |
managarm Managarm 0.0.1-rolling x86_64 |
minix Minix 3.4.0 i386 |
musl Linux 6.18.39-0-lts x86_64 |
netbsd NetBSD 10.1 amd64 |
omnios SunOS 5.11 r151056 i386 |
openbsd OpenBSD 7.8 amd64 |
redox Redox 0.5.12 x86_64 |
solaris SunOS 5.11 11.4.94.221.2 sparc |
sortix Sortix 1.1.0-dev Sep 9 2026 x86_64 |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| § alternation-anchor-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § alternation-asterisk-subexpr-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad ERE '((a)|(b))*' on "ab" [2] matched "a" [0-1] instead of "" [-1--1] |
hurd: bad ERE '((a)|(b))*' on "ab" [2] matched "a" [0-1] instead of "" [-1--1] |
linux: bad ERE '((a)|(b))*' on "ab" [2] matched "a" [0-1] instead of "" [-1--1] |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: bad ERE '((a)|(b))*' on "ab" [2] matched "a" [0-1] instead of "" [-1--1] |
| § alternation-bracket-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § alternation-duplication-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: bad ERE 'a*|b+|c{2}|d?' on "b" [0] matched "" [0-0] instead of "b" [0-1] |
| § alternation-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § alternation-subexpr-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: bad ERE '(a(b*))|(ba)|((b|a)(a|b))' on "aa" [0] matched "a" [0-1] instead of "aa" [0-2] |
| § anchor-bracket-bre | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § anchor-bracket-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § anchor-bre | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: bad BRE 'x^' did not match "x^" |
| § anchor-duplication-bre | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § anchor-duplication-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: bad ERE '(^){2}' did not match "" |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: bad ERE '(^){2}' did not match "" |
openbsd: bad ERE '(^){2}' did not match "" |
redox: none | solaris: good exit: 0 |
sortix: bad Aborted exit: 134 |
| § anchor-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: bad ERE regcomp: $ anchor not at end of pattern: $x |
sortix: good exit: 0 |
| § anchor-subexpr-bre | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § anchor-subexpr-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § asterisk-bre | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: bad BRE regcomp: '?', '*', or '+' not preceded by valid regular expression: * |
| § asterisk-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § asterisk-subexpr-bre | aix: bad BRE '\(a\(\(a*\)*\)\)' on "a" [3] matched "" [-1--1] instead of "" [1-1] |
dragonfly: good exit: 0 |
freebsd: bad BRE '\(a\(\(a*\)*\)\)' on "aa" [3] matched "" [2-2] instead of "a" [1-2] |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: bad exit: 139 |
musl: good exit: 0 |
netbsd: bad BRE '\(a\(\(a*\)*\)\)' on "aa" [3] matched "" [2-2] instead of "a" [1-2] |
omnios: bad BRE '\(a\(\(a*\)*\)\)' on "aa" [3] matched "" [2-2] instead of "a" [1-2] |
openbsd: bad BRE '\(a\(\(a*\)*\)\)' on "aa" [3] matched "" [2-2] instead of "a" [1-2] |
redox: none | solaris: bad BRE '\(a\(\(a*\)*\)\)' on "a" [3] matched "" [-1--1] instead of "" [1-1] |
sortix: bad BRE regcomp: '?', '*', or '+' not preceded by valid regular expression: \(*\) |
| § asterisk-subexpr-ere | aix: bad ERE '(a((a*)*))' on "a" [3] matched "" [-1--1] instead of "" [1-1] |
dragonfly: good exit: 0 |
freebsd: bad ERE '(a((a*)*))' on "aa" [3] matched "" [2-2] instead of "a" [1-2] |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: bad exit: 139 |
musl: good exit: 0 |
netbsd: bad ERE '(a((a*)*))' on "aa" [3] matched "" [2-2] instead of "a" [1-2] |
omnios: bad ERE '(a((a*)*))' on "aa" [3] matched "" [2-2] instead of "a" [1-2] |
openbsd: bad ERE '(a((a*)*))' on "aa" [3] matched "" [2-2] instead of "a" [1-2] |
redox: none | solaris: bad ERE '(a((a*)*))' on "a" [3] matched "" [-1--1] instead of "" [1-1] |
sortix: bad ERE '(a((a*)*))' on "a" [3] matched "" [-1--1] instead of "" [1-1] |
| § asterisk-subexpr-optional-ere | aix: bad ERE '(a?)*' on "" [1] matched "" [-1--1] instead of "" [0-0] |
dragonfly: good exit: 0 |
freebsd: bad ERE '(a?)*' on "a" [1] matched "" [1-1] instead of "a" [0-1] |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: bad exit: 139 |
musl: good exit: 0 |
netbsd: bad ERE '(a?)*' on "a" [1] matched "" [1-1] instead of "a" [0-1] |
omnios: bad ERE '(a?)*' on "a" [1] matched "" [1-1] instead of "a" [0-1] |
openbsd: bad ERE '(a?)*' on "a" [1] matched "" [1-1] instead of "a" [0-1] |
redox: none | solaris: bad ERE '(a?)*' on "" [1] matched "" [-1--1] instead of "" [0-0] |
sortix: bad ERE '(a?)*' on "" [1] matched "" [-1--1] instead of "" [0-0] |
| § backref-bre | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: bad BRE regcomp: Invalid regular expression: \(abc\)\1 |
| § bracket | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: bad BRE '[]]' did not match "]" |
| § bracket-charclass | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: bad BRE regcomp: Unknown collating element: [[=a=]] |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: bad BRE '[[=a=]]' did not match "a" |
| § bracket-collate | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: bad BRE regcomp: Unknown collating element: [[.a.]] |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: bad BRE '[[.a.]]' did not match "a" |
| § bracket-equivclass | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: bad BRE '[[:alnum:]]' did not match "a" |
| § bracket-range | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: bad BRE regcomp: invalid character range: [---] |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: bad BRE regcomp: invalid character range: [---] |
musl: good exit: 0 |
netbsd: bad BRE regcomp: invalid character range: [---] |
omnios: bad BRE regcomp: invalid character range: [---] |
openbsd: bad BRE regcomp: invalid character range: [---] |
redox: none | solaris: good exit: 0 |
sortix: bad BRE '[]#-]]' did not match "#]" |
| § bracket-range-collate | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: bad BRE regcomp: Unknown collating element: [[.b.]-[.d.]] |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: bad BRE '[[.b.]-[.d.]]' did not match "b" |
| § char-bre | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: bad BRE regcomp: '?', '*', or '+' not preceded by valid regular expression: * |
| § char-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: bad ERE regcomp: parentheses not balanced: a) |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: bad ERE regcomp: "\(\)" or "()" imbalance: a) |
| § duplication-bracket-bre | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § duplication-bracket-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § escape-bre | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § escape-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § icase-bre | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad BRE REG_ICASE '[A-f]' did not match "G" |
hurd: bad BRE REG_ICASE '[A-f]' did not match "G" |
linux: bad BRE REG_ICASE '[A-f]' did not match "G" |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: bad BRE regcomp: Unknown collating element: [[.a.]] |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: bad BRE '[[.a.]]' did not match "a" |
| § icase-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad ERE REG_ICASE '[A-f]' did not match "G" |
hurd: bad ERE REG_ICASE '[A-f]' did not match "G" |
linux: bad ERE REG_ICASE '[A-f]' did not match "G" |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: bad ERE regcomp: Unknown collating element: [[.a.]] |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: bad ERE '[[.a.]]' did not match "a" |
| § interval-bre | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: bad BRE regcomp: empty (sub)expression: a\{0,0\} |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: bad BRE regcomp: empty (sub)expression: a\{0,0\} |
musl: good exit: 0 |
netbsd: bad BRE regcomp: empty (sub)expression: a\{0,0\} |
omnios: bad BRE regcomp: invalid regular expression: a\{0,0\} |
openbsd: bad BRE regcomp: empty (sub)expression: a\{0,0\} |
redox: none | solaris: good exit: 0 |
sortix: bad Segmentation fault exit: 139 |
| § interval-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: bad ERE regcomp: empty (sub)expression: a{0,0} |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: bad ERE regcomp: empty (sub)expression: a{0,0} |
musl: good exit: 0 |
netbsd: bad ERE regcomp: empty (sub)expression: a{0,0} |
omnios: bad ERE regcomp: invalid regular expression: a{0,0} |
openbsd: bad ERE regcomp: empty (sub)expression: a{0,0} |
redox: none | solaris: good exit: 0 |
sortix: bad Segmentation fault exit: 139 |
| § interval-subexpr-bre | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: bad BRE '\(a\(\(a\{1,2\}\)\{1,2\}\)\)' on "aaa" [3] matched "a" [2-3] instead of "aa" [1-3] |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: bad exit: 139 |
musl: bad BRE '\(a\(\(a\{1,2\}\)\{1,2\}\)\)' on "aaa" [3] matched "a" [2-3] instead of "aa" [1-3] |
netbsd: bad BRE '\(a\(\(a\{1,2\}\)\{1,2\}\)\)' on "aaa" [3] matched "a" [2-3] instead of "aa" [1-3] |
omnios: bad BRE '\(a\(\(a\{1,2\}\)\{1,2\}\)\)' on "aaa" [3] matched "a" [2-3] instead of "aa" [1-3] |
openbsd: bad BRE '\(a\(\(a\{1,2\}\)\{1,2\}\)\)' on "aaa" [3] matched "a" [2-3] instead of "aa" [1-3] |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § interval-subexpr-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: bad ERE '(a((a{1,2}){1,2}))' on "aaa" [3] matched "a" [2-3] instead of "aa" [1-3] |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: bad exit: 139 |
musl: bad ERE '(a((a{1,2}){1,2}))' on "aaa" [3] matched "a" [2-3] instead of "aa" [1-3] |
netbsd: bad ERE '(a((a{1,2}){1,2}))' on "aaa" [3] matched "a" [2-3] instead of "aa" [1-3] |
omnios: bad ERE '(a((a{1,2}){1,2}))' on "aaa" [3] matched "a" [2-3] instead of "aa" [1-3] |
openbsd: bad ERE '(a((a{1,2}){1,2}))' on "aaa" [3] matched "a" [2-3] instead of "aa" [1-3] |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § newline-bre | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: bad BRE REG_NEWLINE "." did not reject " " |
| § newline-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: bad ERE REG_NEWLINE "." did not reject " " |
| § notboleol-bre | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § notboleol-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § optional-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § optional-subexpr-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § period-bre | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § period-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § plus-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § plus-subexpr-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § subexpr-bracket-bre | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § subexpr-bracket-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § subexpr-bre | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § subexpr-ere | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: bad ERE regcomp: parentheses not balanced: ) |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: bad ERE regcomp: "\(\)" or "()" imbalance: ) |
|
Optional: nonstandard Nonstandard Extensions |
||||||||||||||||
| § alternation-anchor-bre | aix: bad BRE '^a\|b' did not match "a" |
dragonfly: bad BRE '^a\|b' did not match "a" |
freebsd: bad BRE '^a\|b' did not match "a" |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad BRE '^a\|b' did not match "a" |
managarm: none | minix: bad BRE '^a\|b' did not match "a" |
musl: good exit: 0 |
netbsd: bad BRE '^a\|b' did not match "a" |
omnios: bad BRE '^a\|b' did not match "a" |
openbsd: bad BRE '^a\|b' did not match "a" |
redox: none | solaris: bad BRE '^a\|b' did not match "a" |
sortix: good exit: 0 |
| § alternation-bracket-bre | aix: bad BRE '[ab][b][c]\|ccb\|[b][abc]' did not match "ba" |
dragonfly: bad BRE '[ab][b][c]\|ccb\|[b][abc]' did not match "ba" |
freebsd: bad BRE '[ab][b][c]\|ccb\|[b][abc]' did not match "ba" |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad BRE '[ab][b][c]\|ccb\|[b][abc]' did not match "ba" |
managarm: none | minix: bad BRE '[ab][b][c]\|ccb\|[b][abc]' did not match "ba" |
musl: good exit: 0 |
netbsd: bad BRE '[ab][b][c]\|ccb\|[b][abc]' did not match "ba" |
omnios: bad BRE '[ab][b][c]\|ccb\|[b][abc]' did not match "ba" |
openbsd: bad BRE '[ab][b][c]\|ccb\|[b][abc]' did not match "ba" |
redox: none | solaris: bad BRE '[ab][b][c]\|ccb\|[b][abc]' did not match "ba" |
sortix: good exit: 0 |
| § alternation-bre | aix: bad BRE 'a\|b' did not match "a" |
dragonfly: bad BRE 'a\|b' did not match "a" |
freebsd: bad BRE 'a\|b' did not match "a" |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad BRE 'a\|b' did not match "a" |
managarm: none | minix: bad BRE 'a\|b' did not match "a" |
musl: good exit: 0 |
netbsd: bad BRE 'a\|b' did not match "a" |
omnios: bad BRE 'a\|b' did not match "a" |
openbsd: bad BRE 'a\|b' did not match "a" |
redox: none | solaris: bad BRE 'a\|b' did not match "a" |
sortix: good exit: 0 |
| § alternation-duplication-bre | aix: bad BRE 'a*\|b\+\|c\{2\}\|d\?' did not match "" |
dragonfly: bad BRE 'a*\|b\+\|c\{2\}\|d\?' did not match "" |
freebsd: bad BRE 'a*\|b\+\|c\{2\}\|d\?' did not match "" |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad BRE 'a*\|b\+\|c\{2\}\|d\?' did not match "" |
managarm: none | minix: bad BRE 'a*\|b\+\|c\{2\}\|d\?' did not match "" |
musl: good exit: 0 |
netbsd: bad BRE 'a*\|b\+\|c\{2\}\|d\?' did not match "" |
omnios: bad BRE 'a*\|b\+\|c\{2\}\|d\?' did not match "" |
openbsd: bad BRE 'a*\|b\+\|c\{2\}\|d\?' did not match "" |
redox: none | solaris: bad BRE 'a*\|b\+\|c\{2\}\|d\?' did not match "" |
sortix: bad BRE 'a*\|b\+\|c\{2\}\|d\?' on "b" [0] matched "" [0-0] instead of "b" [0-1] |
| § alternation-subexpr-bre | aix: bad BRE '\(a\(b*\)\)\|\(ba\)\|\(\(b\|a\)\(a\|b\)\)' did not match "a" |
dragonfly: bad BRE '\(a\(b*\)\)\|\(ba\)\|\(\(b\|a\)\(a\|b\)\)' did not match "a" |
freebsd: bad BRE '\(a\(b*\)\)\|\(ba\)\|\(\(b\|a\)\(a\|b\)\)' did not match "a" |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad BRE '\(a\(b*\)\)\|\(ba\)\|\(\(b\|a\)\(a\|b\)\)' did not match "a" |
managarm: none | minix: bad BRE '\(a\(b*\)\)\|\(ba\)\|\(\(b\|a\)\(a\|b\)\)' did not match "a" |
musl: good exit: 0 |
netbsd: bad BRE '\(a\(b*\)\)\|\(ba\)\|\(\(b\|a\)\(a\|b\)\)' did not match "a" |
omnios: bad BRE '\(a\(b*\)\)\|\(ba\)\|\(\(b\|a\)\(a\|b\)\)' did not match "a" |
openbsd: bad BRE '\(a\(b*\)\)\|\(ba\)\|\(\(b\|a\)\(a\|b\)\)' did not match "a" |
redox: none | solaris: bad BRE '\(a\(b*\)\)\|\(ba\)\|\(\(b\|a\)\(a\|b\)\)' did not match "a" |
sortix: bad BRE '\(a\(b*\)\)\|\(ba\)\|\(\(b\|a\)\(a\|b\)\)' on "aa" [0] matched "a" [0-1] instead of "aa" [0-2] |
| § anchor-alternation-asterisk-bre | aix: bad BRE 'x\|^*' did not match "x" |
dragonfly: bad BRE 'x\|^*' did not match "x" |
freebsd: bad BRE 'x\|^*' did not match "x" |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad BRE 'x\|^*' did not match "x" |
managarm: none | minix: bad BRE 'x\|^*' did not match "x" |
musl: good exit: 0 |
netbsd: bad BRE 'x\|^*' did not match "x" |
omnios: bad BRE 'x\|^*' did not match "x" |
openbsd: bad BRE 'x\|^*' did not match "x" |
redox: none | solaris: bad BRE 'x\|^*' did not match "x" |
sortix: bad BRE regcomp: '?', '*', or '+' not preceded by valid regular expression: x\|^* |
| § anchor-asterisk-subexpr-bre | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: bad BRE '\(^*\)' on "*" [0] matched "" [0-0] instead of "*" [0-1] |
sortix: bad BRE regcomp: '?', '*', or '+' not preceded by valid regular expression: \(^*\) |
| § anchor-duplication-ns-bre | aix: bad BRE '^a\?$' did not match "" |
dragonfly: bad BRE '^a\?$' did not match "" |
freebsd: bad BRE '^a\?$' did not match "" |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad BRE '^a\?$' did not match "" |
managarm: none | minix: bad BRE '^a\?$' did not match "" |
musl: good exit: 0 |
netbsd: bad BRE '^a\?$' did not match "" |
omnios: bad BRE '^a\?$' did not match "" |
openbsd: bad BRE '^a\?$' did not match "" |
redox: none | solaris: bad BRE '^a\?$' did not match "" |
sortix: bad Aborted exit: 134 |
| § anchor-subexpr-ns-bre | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: good exit: 0 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: bad BRE '\(^x\(y\)\)' did not match "xy" |
sortix: good exit: 0 |
| § bracket-charclass-rsq | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: bad BRE regcomp: invalid collating element: [[=]=]x] |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: bad BRE regcomp: invalid collating element: [[=]=]x] |
musl: bad BRE regcomp: Unknown collating element: [[=]=]x] |
netbsd: bad BRE regcomp: invalid collating element: [[=]=]x] |
omnios: bad BRE regcomp: invalid collating element: [[=]=]x] |
openbsd: bad BRE regcomp: invalid collating element: [[=]=]x] |
redox: none | solaris: good exit: 0 |
sortix: bad BRE '[[=]=]x]' did not match "x" |
| § duplication-bracket-ns-bre | aix: bad BRE '[a-z]\+' did not match "a" |
dragonfly: bad BRE '[a-z]\+' did not match "a" |
freebsd: bad BRE '[a-z]\+' did not match "a" |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad BRE '[a-z]\+' did not match "a" |
managarm: none | minix: bad BRE '[a-z]\+' did not match "a" |
musl: good exit: 0 |
netbsd: bad BRE '[a-z]\+' did not match "a" |
omnios: bad BRE '[a-z]\+' did not match "a" |
openbsd: bad BRE '[a-z]\+' did not match "a" |
redox: none | solaris: bad BRE '[a-z]\+' did not match "a" |
sortix: good exit: 0 |
| § empty-bre | aix: good exit: 0 |
dragonfly: bad BRE regcomp: Empty (sub)expression: |
freebsd: bad BRE regcomp: empty (sub)expression: |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad BRE regcomp: empty (sub)expression: |
managarm: none | minix: bad BRE regcomp: empty (sub)expression: |
musl: good exit: 0 |
netbsd: bad BRE regcomp: empty (sub)expression: |
omnios: bad BRE regcomp: invalid regular expression: |
openbsd: bad BRE regcomp: empty (sub)expression: |
redox: none | solaris: good exit: 0 |
sortix: bad BRE REG_NOTBOL REG_NOTEOL '' did not match "D" |
| § empty-ere | aix: good exit: 0 |
dragonfly: bad ERE regcomp: Empty (sub)expression: |
freebsd: bad ERE regcomp: empty (sub)expression: |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad ERE regcomp: empty (sub)expression: |
managarm: none | minix: bad ERE regcomp: empty (sub)expression: |
musl: good exit: 0 |
netbsd: bad ERE regcomp: empty (sub)expression: |
omnios: bad ERE regcomp: invalid regular expression: |
openbsd: bad ERE regcomp: empty (sub)expression: |
redox: none | solaris: good exit: 0 |
sortix: bad ERE REG_NOTBOL REG_NOTEOL '' did not match "" |
| § icase-ns-bre | aix: bad BRE 'a\?' did not match "" |
dragonfly: bad BRE 'a\?' did not match "" |
freebsd: bad BRE 'a\?' did not match "" |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad BRE 'a\?' did not match "" |
managarm: none | minix: bad BRE 'a\?' did not match "" |
musl: good exit: 0 |
netbsd: bad BRE 'a\?' did not match "" |
omnios: bad BRE 'a\?' did not match "" |
openbsd: bad BRE 'a\?' did not match "" |
redox: none | solaris: bad BRE 'a\?' did not match "" |
sortix: bad BRE REG_ICASE 'a\?' on "A" [0] matched "" [0-0] instead of "A" [0-1] |
| § interval-omit-bre | aix: bad BRE regcomp: invalid \{ \} repetition: a\{,3\} |
dragonfly: bad BRE regcomp: Invalid contents of {}: a\{,3\} |
freebsd: bad BRE regcomp: invalid repetition count(s): a\{,3\} |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad BRE regcomp: invalid repetition count(s): a\{,3\} |
managarm: none | minix: bad BRE regcomp: invalid repetition count(s): a\{,3\} |
musl: bad BRE regcomp: Invalid contents of {}: a\{,3\} |
netbsd: bad BRE regcomp: invalid repetition count(s): a\{,3\} |
omnios: bad BRE regcomp: invalid repetition count(s): a\{,3\} |
openbsd: bad BRE regcomp: invalid repetition count(s): a\{,3\} |
redox: none | solaris: bad BRE regcomp: contents of { } or \{ \} invalid: a\{,3\} |
sortix: bad BRE regcomp: Content of "\{\}" invalid: not a number, number too large, more than two numbers, first larger than second: a\{,3\} |
| § interval-omit-ere | aix: bad ERE 'a{,3}' did not match "" |
dragonfly: bad ERE 'a{,3}' did not match "" |
freebsd: bad ERE regcomp: invalid repetition count(s): a{,3} |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad ERE 'a{,3}' did not match "" |
managarm: none | minix: bad ERE 'a{,3}' did not match "" |
musl: bad ERE regcomp: Invalid contents of {}: a{,3} |
netbsd: bad ERE regcomp: invalid repetition count(s): a{,3} |
omnios: bad ERE regcomp: invalid repetition count(s): a{,3} |
openbsd: bad ERE 'a{,3}' did not match "" |
redox: none | solaris: bad ERE regcomp: syntax error: a{,3} |
sortix: bad ERE regcomp: Content of "\{\}" invalid: not a number, number too large, more than two numbers, first larger than second: a{,3} |
| § interval-omit-zero-bre | aix: bad BRE regcomp: invalid \{ \} repetition: a\{,0\} |
dragonfly: bad BRE regcomp: Invalid contents of {}: a\{,0\} |
freebsd: bad BRE regcomp: invalid repetition count(s): a\{,0\} |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad BRE regcomp: invalid repetition count(s): a\{,0\} |
managarm: none | minix: bad BRE regcomp: invalid repetition count(s): a\{,0\} |
musl: bad BRE regcomp: Invalid contents of {}: a\{,0\} |
netbsd: bad BRE regcomp: invalid repetition count(s): a\{,0\} |
omnios: bad BRE regcomp: invalid repetition count(s): a\{,0\} |
openbsd: bad BRE regcomp: invalid repetition count(s): a\{,0\} |
redox: none | solaris: bad BRE regcomp: contents of { } or \{ \} invalid: a\{,0\} |
sortix: bad BRE regcomp: Content of "\{\}" invalid: not a number, number too large, more than two numbers, first larger than second: a\{,0\} |
| § interval-omit-zero-ere | aix: bad ERE 'a{,0}' did not match "" |
dragonfly: bad ERE 'a{,0}' did not match "" |
freebsd: bad ERE regcomp: invalid repetition count(s): a{,0} |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad ERE 'a{,0}' did not match "" |
managarm: none | minix: bad ERE 'a{,0}' did not match "" |
musl: bad ERE regcomp: Invalid contents of {}: a{,0} |
netbsd: bad ERE regcomp: invalid repetition count(s): a{,0} |
omnios: bad ERE regcomp: invalid repetition count(s): a{,0} |
openbsd: bad ERE 'a{,0}' did not match "" |
redox: none | solaris: bad ERE regcomp: syntax error: a{,0} |
sortix: bad ERE regcomp: Content of "\{\}" invalid: not a number, number too large, more than two numbers, first larger than second: a{,0} |
| § optional-bre | aix: bad BRE 'a\?ab\?' did not match "a" |
dragonfly: bad BRE 'a\?ab\?' did not match "a" |
freebsd: bad BRE 'a\?ab\?' did not match "a" |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad BRE 'a\?ab\?' did not match "a" |
managarm: none | minix: bad BRE 'a\?ab\?' did not match "a" |
musl: good exit: 0 |
netbsd: bad BRE 'a\?ab\?' did not match "a" |
omnios: bad BRE 'a\?ab\?' did not match "a" |
openbsd: bad BRE 'a\?ab\?' did not match "a" |
redox: none | solaris: bad BRE 'a\?ab\?' did not match "a" |
sortix: good exit: 0 |
| § optional-subexpr-bre | aix: bad BRE '\(a\?b\)' did not match "b" |
dragonfly: bad BRE '\(a\?b\)' did not match "b" |
freebsd: bad BRE '\(a\?b\)' did not match "b" |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad BRE '\(a\?b\)' did not match "b" |
managarm: none | minix: bad BRE '\(a\?b\)' did not match "b" |
musl: good exit: 0 |
netbsd: bad BRE '\(a\?b\)' did not match "b" |
omnios: bad BRE '\(a\?b\)' did not match "b" |
openbsd: bad BRE '\(a\?b\)' did not match "b" |
redox: none | solaris: bad BRE '\(a\?b\)' did not match "b" |
sortix: good exit: 0 |
| § plus-bre | aix: bad BRE 'a\+' did not match "a" |
dragonfly: bad BRE 'a\+' did not match "a" |
freebsd: bad BRE 'a\+' did not match "a" |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad BRE 'a\+' did not match "a" |
managarm: none | minix: bad BRE 'a\+' did not match "a" |
musl: good exit: 0 |
netbsd: bad BRE 'a\+' did not match "a" |
omnios: bad BRE 'a\+' did not match "a" |
openbsd: bad BRE 'a\+' did not match "a" |
redox: none | solaris: bad BRE 'a\+' did not match "a" |
sortix: good exit: 0 |
| § plus-subexpr-bre | aix: bad BRE '\(a\+\)\(b\+\)' did not match "ab" |
dragonfly: bad BRE '\(a\+\)\(b\+\)' did not match "ab" |
freebsd: bad BRE '\(a\+\)\(b\+\)' did not match "ab" |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad BRE '\(a\+\)\(b\+\)' did not match "ab" |
managarm: none | minix: bad BRE '\(a\+\)\(b\+\)' did not match "ab" |
musl: good exit: 0 |
netbsd: bad BRE '\(a\+\)\(b\+\)' did not match "ab" |
omnios: bad BRE '\(a\+\)\(b\+\)' did not match "ab" |
openbsd: bad BRE '\(a\+\)\(b\+\)' did not match "ab" |
redox: none | solaris: bad BRE '\(a\+\)\(b\+\)' did not match "ab" |
sortix: good exit: 0 |
| § utf8-bracket | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad BRE '[æø]' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: good exit: 0 |
netbsd: bad BRE '[Aλ]' did not match "λ" |
omnios: good exit: 0 |
openbsd: bad BRE '[æø]' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
redox: none | solaris: bad BRE '[æø]' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
sortix: bad BRE '[æø]' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
| § utf8-bracket-charclass | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad BRE '[[:alpha:]]' did not match "ø" |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: bad BRE '[[:alpha:]]' did not match "ø" |
redox: none | solaris: bad BRE '[[:alpha:]]' on "ø" [0] matched "Ã" [0-1] instead of "ø" [0-2] |
sortix: bad BRE '[[:alpha:]]' did not match "a" |
| § utf8-bracket-charclass-icase | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad BRE REG_ICASE '[[:alpha:]]' did not match "ø" |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: bad BRE REG_ICASE '[[:alpha:]]' did not match "ø" |
redox: none | solaris: bad BRE REG_ICASE '[[:alpha:]]' on "ø" [0] matched "Ã" [0-1] instead of "ø" [0-2] |
sortix: bad BRE REG_ICASE '[[:alpha:]]' did not match "a" |
| § utf8-bracket-collate | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad BRE regcomp: Invalid collation character: [[.ø.]] |
hurd: bad BRE regcomp: Invalid collation character: [[.ø.]] |
linux: bad BRE regcomp: Invalid collation character: [[.ø.]] |
macos: good exit: 0 |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: bad BRE regcomp: Unknown collating element: [[.ø.]] |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: bad BRE regcomp: invalid collating element: [[.ø.]] |
redox: none | solaris: bad BRE regcomp: invalid collation element: [[.ø.]] |
sortix: bad BRE '[[.ø.]]' did not match "ø" |
| § utf8-bracket-collate-icase | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad BRE regcomp: Invalid collation character: [[.ø.]] |
hurd: bad BRE regcomp: Invalid collation character: [[.ø.]] |
linux: bad BRE regcomp: Invalid collation character: [[.ø.]] |
macos: good exit: 0 |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: bad BRE regcomp: Unknown collating element: [[.ø.]] |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: bad BRE regcomp: invalid collating element: [[.ø.]] |
redox: none | solaris: bad BRE regcomp: invalid collation element: [[.ø.]] |
sortix: bad BRE REG_ICASE '[[.ø.]]' did not match "ø" |
| § utf8-bracket-collate-range | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad BRE regcomp: Invalid collation character: [[.æ.]-[.ø.]] |
hurd: bad BRE regcomp: Invalid collation character: [[.æ.]-[.ø.]] |
linux: bad BRE regcomp: Invalid collation character: [[.æ.]-[.ø.]] |
macos: good exit: 0 |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: bad BRE regcomp: Unknown collating element: [[.æ.]-[.ø.]] |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: bad BRE regcomp: invalid collating element: [[.æ.]-[.ø.]] |
redox: none | solaris: bad BRE regcomp: invalid collation element: [[.æ.]-[.ø.]] |
sortix: bad BRE '[[.æ.]-[.ø.]]' did not match "æ" |
| § utf8-bracket-collate-range-icase | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: good exit: 0 |
freebsd: bad BRE REG_ICASE "[^[.æ.]-[.ø.]]" did not reject "æ" |
haiku: bad BRE regcomp: Invalid collation character: [[.æ.]-[.ø.]] |
hurd: bad BRE regcomp: Invalid collation character: [[.æ.]-[.ø.]] |
linux: bad BRE regcomp: Invalid collation character: [[.æ.]-[.ø.]] |
macos: good exit: 0 |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: bad BRE regcomp: Unknown collating element: [[.æ.]-[.ø.]] |
netbsd: bad BRE REG_ICASE "[^[.æ.]-[.ø.]]" did not reject "æ" |
omnios: bad BRE REG_ICASE "[^[.æ.]-[.ø.]]" did not reject "æ" |
openbsd: bad BRE regcomp: invalid collating element: [[.æ.]-[.ø.]] |
redox: none | solaris: bad BRE regcomp: invalid collation element: [[.æ.]-[.ø.]] |
sortix: bad BRE REG_ICASE '[[.æ.]-[.ø.]]' did not match "æ" |
| § utf8-bracket-equivclass | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad BRE regcomp: Invalid collation character: [[=ø=]] |
hurd: bad BRE regcomp: Invalid collation character: [[=ø=]] |
linux: bad BRE regcomp: Invalid collation character: [[=ø=]] |
macos: good exit: 0 |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: bad BRE regcomp: Unknown collating element: [[=ø=]] |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: bad BRE regcomp: invalid collating element: [[=ø=]] |
redox: none | solaris: bad BRE regcomp: invalid collation element: [[=ø=]] |
sortix: bad BRE '[[=ø=]]' did not match "ø" |
| § utf8-bracket-equivclass-icase | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad BRE regcomp: Invalid collation character: [[=ø=]] |
hurd: bad BRE regcomp: Invalid collation character: [[=ø=]] |
linux: bad BRE regcomp: Invalid collation character: [[=ø=]] |
macos: good exit: 0 |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: bad BRE regcomp: Unknown collating element: [[=ø=]] |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: bad BRE regcomp: invalid collating element: [[=ø=]] |
redox: none | solaris: bad BRE regcomp: invalid collation element: [[=ø=]] |
sortix: bad BRE REG_ICASE '[[=ø=]]' did not match "ø" |
| § utf8-bracket-icase | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad BRE REG_ICASE '[æø]' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: bad BRE REG_ICASE '[æø]' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
redox: none | solaris: bad BRE REG_ICASE '[æø]' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
sortix: bad BRE REG_ICASE '[æø]' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
| § utf8-bracket-range | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad BRE '[æ-ø]' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
hurd: bad BRE regcomp: Invalid collation character: [æ-ø] |
linux: bad BRE regcomp: Invalid collation character: [æ-ø] |
macos: good exit: 0 |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: bad BRE '[æ-ø]' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
redox: none | solaris: bad BRE '[æ-ø]' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
sortix: bad BRE '[æ-ø]' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
| § utf8-bracket-range-icase | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: good exit: 0 |
freebsd: bad BRE REG_ICASE "[^æ-ø]" did not reject "æ" |
haiku: bad BRE REG_ICASE '[æ-ø]' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
hurd: bad BRE regcomp: Invalid collation character: [æ-ø] |
linux: bad BRE regcomp: Invalid collation character: [æ-ø] |
macos: good exit: 0 |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: good exit: 0 |
netbsd: bad BRE REG_ICASE "[^æ-ø]" did not reject "æ" |
omnios: bad BRE REG_ICASE "[^æ-ø]" did not reject "æ" |
openbsd: bad BRE REG_ICASE '[æ-ø]' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
redox: none | solaris: bad BRE REG_ICASE '[æ-ø]' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
sortix: bad BRE REG_ICASE '[æ-ø]' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
| § utf8-char | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: none | solaris: good exit: 0 |
sortix: good exit: 0 |
| § utf8-char-icase | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad BRE REG_ICASE 'æ' did not match "Æ" |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: bad BRE REG_ICASE 'æ' did not match "Æ" |
redox: none | solaris: bad BRE REG_ICASE 'æ' did not match "Æ" |
sortix: bad BRE REG_ICASE 'æ' did not match "Æ" |
| § utf8-invalid-continuation | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: bad BRE regexec: Illegal byte sequence: .: € |
freebsd: good exit: 0 |
haiku: bad BRE "." did not reject "€" |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad BRE regexec: illegal byte sequence: .: € |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: bad BRE "." did not reject "€" |
redox: none | solaris: bad BRE "." did not reject "€" |
sortix: bad BRE "." did not reject "€" |
| § utf8-invalid-missing | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: bad BRE regexec: Illegal byte sequence: .: Ã |
freebsd: good exit: 0 |
haiku: bad BRE "." did not reject "Ã" |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad BRE regexec: illegal byte sequence: .: Ã |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: bad BRE "." did not reject "Ã" |
redox: none | solaris: bad BRE "." did not reject "Ã" |
sortix: bad BRE "." did not reject "Ã" |
| § utf8-invalid-over-10ffff | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: bad BRE regexec: Illegal byte sequence: .: õ€€ |
freebsd: bad BRE "." did not reject "õ€€" |
haiku: bad BRE "." did not reject "õ€€" |
hurd: bad BRE "." did not reject "õ€€" |
linux: bad BRE "." did not reject "õ€€" |
macos: bad BRE regexec: illegal byte sequence: .: õ€€ |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: good exit: 0 |
netbsd: bad BRE "." did not reject "õ€€" |
omnios: bad BRE "." did not reject "õ€€" |
openbsd: bad BRE "." did not reject "õ€€" |
redox: none | solaris: bad BRE "." did not reject "õ€€" |
sortix: bad BRE "." did not reject "õ€€" |
| § utf8-invalid-overlong | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: bad BRE regexec: Illegal byte sequence: .: À¯ |
freebsd: good exit: 0 |
haiku: bad BRE "." did not reject "À¯" |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad BRE regexec: illegal byte sequence: .: À¯ |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: bad BRE "." did not reject "À¯" |
redox: none | solaris: bad BRE "." did not reject "À¯" |
sortix: bad BRE "." did not reject "À¯" |
| § utf8-invalid-recover | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: bad BRE regexec: Illegal byte sequence: .: Ã |
freebsd: good exit: 0 |
haiku: bad BRE '.' on "Ã " [0] matched "Ã" [0-1] instead of " " [1-2] |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad BRE regexec: illegal byte sequence: .: Ã |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: bad BRE '.' did not match "Ã " |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: bad BRE '.' on "Ã " [0] matched "Ã" [0-1] instead of " " [1-2] |
redox: none | solaris: bad BRE '.' on "Ã " [0] matched "Ã" [0-1] instead of " " [1-2] |
sortix: bad BRE '.' on "Ã " [0] matched "Ã" [0-1] instead of " " [1-2] |
| § utf8-invalid-surrogate | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: bad BRE "." did not reject "í €" |
freebsd: good exit: 0 |
haiku: bad BRE "." did not reject "í €" |
hurd: bad BRE "." did not reject "í €" |
linux: bad BRE "." did not reject "í €" |
macos: bad BRE regexec: illegal byte sequence: .: í € |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: bad BRE "." did not reject "í €" |
openbsd: bad BRE "." did not reject "í €" |
redox: none | solaris: bad BRE "." did not reject "í €" |
sortix: bad BRE "." did not reject "í €" |
| § utf8-period | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad BRE '.' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: bad BRE '.' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
redox: none | solaris: bad BRE '.' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
sortix: bad BRE '.' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
| § utf8-period-icase | aix: bad setlocale LC_CTYPE failed: C.UTF-8 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad BRE REG_ICASE '.' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: bad setlocale LC_CTYPE failed: C.UTF-8 |
musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: bad BRE REG_ICASE '.' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
redox: none | solaris: bad BRE REG_ICASE '.' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |
sortix: bad BRE REG_ICASE '.' on "æ" [0] matched "Ã" [0-1] instead of "æ" [0-2] |