{{ message }}

Instantly share code, notes, and snippets.

quasilyte/regexp_test.txt

Created Apr 24, 2020
 Parser test cases: // Empty pattern. {``, `{}`}, // Anchors. {`^`, `^`}, {`^^`, `{^ ^}`}, {`\$`, `\$`}, {`\$\$`, `{\$ \$}`}, // Simple literals and chars. {` `, ` `}, {` `, ` `}, {`x`, `x`}, {`abc`, `abc`}, {`□`, `□`}, {`✓`, `✓`}, {`✓✓`, `✓✓`}, // Dots and alternations (or). {`.`, `.`}, {`..`, `{. .}`}, {`...`, `{. . .}`}, {`.|.`, `(or . .)`}, {`.|✓|.`, `(or . ✓ .)`}, {`✓.|.`, `(or {✓ .} .)`}, {`.|✓.`, `(or . {✓ .})`}, {`..✓|.`, `(or {. . ✓} .)`}, {`.|..|..✓`, `(or . {. .} {. . ✓})`}, {`.|...|..`, `(or . {. . .} {. .})`}, // Capturing groups. {`()`, `(capture {})`}, {`(.)`, `(capture .)`}, {`(.✓)`, `(capture {. ✓})`}, {`(x)|(y)`, `(or (capture x) (capture y))`}, {`(x)(y)`, `{(capture x) (capture y)}`}, {`✓(x)y`, `{✓ (capture x) y}`}, {`a(x1|y1)b`, `{a (capture (or x1 y1)) b}`}, // Non-capturing groups without flags. {`x(?:)y`, `{x (group {}) y}`}, {`x(?:.)y`, `{x (group .) y}`}, {`x(?:ab)y`, `{x (group ab) y}`}, {`(?:a|b)`, `(group (or a b))`}, {`(?:^a|bc)c`, `{(group (or {^ a} bc)) c}`}, // Flag-only groups. {`x(?i)y`, `{x (flags ?i) y}`}, {`x(?i-m)y`, `{x (flags ?i-m) y}`}, {`x(?-im)y`, `{x (flags ?-im) y}`}, // Non-capturing groups with flags. {`x(?i:)y`, `{x (group {} ?i) y}`}, {`x(?im:.)y`, `{x (group . ?im) y}`}, {`x(?i-m:ab)y`, `{x (group ab ?i-m) y}`}, // Named captures. {`x(?P)y`, `{x (capture {} g) y}`}, {`x(?P.)y`, `{x (capture . name) y}`}, {`x(?Pab)y`, `{x (capture ab x1) y}`}, {`x(?ab)y`, `{x (capture ab x12) y}`}, {`x(?'x12'ab)y`, `{x (capture ab x12) y}`}, // Atomic groups. PCRE-only. {`(?>)`, `(atomic {})`}, {`(?>foo)`, `(atomic foo)`}, // Comments. PCRE-only. {`a(?#)b`, `{a /*(?#)*/ b}`}, {`a(?#foo\)b`, `{a /*(?#foo\)*/ b}`}, // Quantifiers. {`x+`, `(+ x)`}, {`x+|y+`, `(or (+ x) (+ y))`}, {`x+y+`, `{(+ x) (+ y)}`}, {`x+y+|z+`, `(or {(+ x) (+ y)} (+ z))`}, {`(ab)+`, `(+ (capture ab))`}, {`(.b)+`, `(+ (capture {. b}))`}, {`x+y*z+`, `{(+ x) (* y) (+ z)}`}, {`abc+`, `{ab (+ c)}`}, // Non-greedy modifiers. {`x+?|y+?`, `(or (non-greedy (+ x)) (non-greedy (+ y)))`}, {`x*?|y*?`, `(or (non-greedy (* x)) (non-greedy (* y)))`}, {`x??|y??`, `(or (non-greedy (? x)) (non-greedy (? y)))`}, // Possessive modifiers. PCRE-only. {`x++|x*+`, `(or (possessive (+ x)) (possessive (* x)))`}, {`[ab]?+|x{2,}+`, `(or (possessive (? [a b])) (possessive (repeat x {2,})))`}, // Escapes and escape chars. {`\d\d+`, `{\d (+ \d)}`}, {`\..`, `{\. .}`}, {`\1`, `\1`}, {`\✓b`, `{\✓ b}`}, {`\àb`, `{\à b}`}, // Short Unicode escapes. {`\pL+d`, `{(+ \pL) d}`}, // Full Unicode escapes. {`\p{Greek}\p{L}`, `{\p{Greek} \p{L}}`}, {`\P{Greek}\p{^L}`, `{\P{Greek} \p{^L}}`}, // Octal escapes. {`\0`, `\0`}, {`\01`, `\01`}, {`\012`, `\012`}, {`\777`, `\777`}, {`\78`, `{\7 8}`}, {`\778`, `{\77 8}`}, // Short hex escapes. {`\xfff`, `{\xff f}`}, {`\xab1`, `{\xab 1}`}, // This is not a valid syntax for hex escapes, but PHP-PCRE accepts them. // Regexp validator can report them, if enabled. {`\x2[\x3\x4]`, `{\x2 [\x3 \x4]}`}, // Full hex escapes. {`\x{}b`, `{\x{} b}`}, {`\x{1}b`, `{\x{1} b}`}, {`\x{ABC}b`, `{\x{ABC} b}`}, // Char classes. {`[1]`, `[1]`}, {`[1]a`, `{[1] a}`}, {`[-a]`, `[- a]`}, {`[a-]`, `[a -]`}, {`[a-z]a`, `{[a-z] a}`}, {`[a-z0-9]`, `[a-z 0-9]`}, {`[0-9-]`, `[0-9 -]`}, {`[\da-z_A-Z]`, `[\d a-z _ A-Z]`}, {`[\(-\)ab]`, `[\(-\) a b]`}, {`[\]\]\d]a`, `{[\] \] \d] a}`}, {`[[\[]a`, `{[[ \[] a}`}, {`[a|b]`, `[a | b]`}, {`[a+b]`, `[a + b]`}, {`[a*b]`, `[a * b]`}, {`[x{1}]`, `[x '{' 1 '}']`}, {`[]]`, `[]]`}, {`[][]`, `[] []`}, // Negated char classes. {`[^1]a`, `{[^1] a}`}, {`[^-a]`, `[^- a]`}, {`[^a-]`, `[^a -]`}, {`[^a-z]a`, `{[^a-z] a}`}, {`[^a-z0-9]`, `[^a-z 0-9]`}, {`[^\da-z_A-Z]`, `[^\d a-z _ A-Z]`}, {`[^\(-\)ab]`, `[^\(-\) a b]`}, {`[^\]\]\d]a`, `{[^\] \] \d] a}`}, {`[^[\[]a`, `{[^[ \[] a}`}, {`[^1abc]`, `[^1 a b c]`}, {`[^]]`, `[^]]`}, {`[^][]`, `[^] []`}, {`[^\040\041\043-\133\135-\176]`, `[^\040 \041 \043-\133 \135-\176]`}, // Char class ranges. // We parse a-\d and it's something that should be // handled by post-parsing validator. {`[\d-a]`, `[\d - a]`}, {`[a-\d]`, `[a-\d]`}, {`[\pL0-9]`, `[\pL 0-9]`}, {`[+--]`, `[+--]`}, {`[--+]`, `[--+]`}, {`[---]`, `[---]`}, {`[-]`, `[-]`}, {`[\x20-\x7f]`, `[\x20-\x7f]`}, {`[\x{20}-\x{7f}]`, `[\x{20}-\x{7f}]`}, {`[\1-\3]`, `[\1-\3]`}, {`[\10-\20]`, `[\10-\20]`}, {`[❤-❤a]`, `[❤-❤ a]`}, // Char class with meta symbols. {`[|]`, `[|]`}, {`[\$.+*^?]`, `[\$ . + * ^ ?]`}, {`[^\$.+*^?]`, `[^\$ . + * ^ ?]`}, // Posix char classes. {`x[:alpha:]y`, `{x [: a l p h a :] y}`}, {`x[a[:alpha:]]y`, `{x [a [:alpha:]] y}`}, {`x[[:^alpha:]]y`, `{x [[:^alpha:]] y}`}, {`x[^[:alpha:]]y`, `{x [^[:alpha:]] y}`}, {`x[^[:^alpha:]]y`, `{x [^[:^alpha:]] y}`}, // Valid repeat expressions. {`.{3}`, `(repeat . {3})`}, {`.{3,}`, `(repeat . {3,})`}, {`.{3,6}`, `(repeat . {3,6})`}, {`.{6}?`, `(non-greedy (repeat . {6}))`}, {`[a-z]{5}`, `(repeat [a-z] {5})`}, // Invalid repeat expressions are parsed as normal chars. {`.{a}`, `{. {a}}`}, {`.{-1}`, `{. {-1}}`}, // \Q...\E escape. {`\Qa.b\E+z`, `{(+ (q \Qa.b\E)) z}`}, {`x\Q?\Ey`, `{x (q \Q?\E) y}`}, {`x\Q\Ey`, `{x (q \Q\E) y}`}, {`x\Q`, `{x (q \Q)}`}, {`x\Qy`, `{x (q \Qy)}`}, {`x\Qyz`, `{x (q \Qyz)}`}, // Incomplete `x|` and `|x` expressions are valid. {`(docker-|)`, `(capture (or docker- {}))`}, {`x|`, `(or x {})`}, {`|x`, `(or {} x)`}, {`(|x|y)`, `(capture (or {} x y))`}, {`(?:|x)`, `(group (or {} x))`}, // More tests for char merging. {`xy+`, `{x (+ y)}`}, {`.xy`, `{. xy}`}, {`foo?|bar`, `(or {fo (? o)} bar)`}, // Tests from the patterns found in various GitHub projects. {`Adm([^i]|\$)`, `{Adm (capture (or [^i] \$))}`}, {`\.(com|com\.\w{2})\$`, `{\. (capture (or com {com \. (repeat \w {2})})) \$}`}, {`(?i)a(?:x|y)b`, `{(flags ?i) a (group (or x y)) b}`}, Go test cases: regexp.MustCompile(`[\D0-9]`) regexp.MustCompile(`[\D5]`) regexp.MustCompile(`(^pt\$|_content\$|_file\$|_disk\$)`) regexp.MustCompile(`(?:(?i)foo)(?i)bar`) regexp.MustCompile(`(?m)(?i)(?-m)(?-i)(?m)(?i)`) regexp.MustCompile(`(?ms:(?i:foo))(?im:bar)`) regexp.MustCompile(`(?i)(?ms:flags1)(?m:flags2)`) regexp.MustCompile(`((?m)(?i:a|b(?s:foo))(?i)x)`) regexp.MustCompile(`(?i)yy(?-i)x`) regexp.MustCompile(`(?i-i)`) regexp.MustCompile(`(?i:foo)(?i)bar`) regexp.MustCompile(`(?i:(?m:fo(?-i)o))(?mi)x(?-mi)bar`) regexp.MustCompile(`(?i-i)(?i)`) regexp.MustCompile(`(?:(?i)foo)(?i)x(?-i)`) regexp.MustCompile(`^`) regexp.MustCompile(`^foo`) regexp.MustCompile(`^foo?|bar`) regexp.MustCompile(`^foo|^bar`) regexp.MustCompile(`(^a|^b)`) regexp.MustCompile(`(?i)^foo`) regexp.MustCompile(`(?i)((?m)a|^foo)b`) regexp.MustCompile(`(?i)(?m)\bfoo|bar|^baz`) regexp.MustCompile(`(?i)^(?m)foo|bar|baz`) regexp.MustCompile(`(?i:foo|((?:f|^b|(foo|^bar))))`) regexp.MustCompile(`(?i)^(?m)foo|bar|^baz`) regexp.MustCompile(`(?i)(?:)(^| )\S+`) regexp.MustCompile(`\$`) regexp.MustCompile(`foo\$`) regexp.MustCompile(`foo?\$|bar`) regexp.MustCompile(`foo\$|bar\$`) regexp.MustCompile(`(a\$|b\$)`) regexp.MustCompile(`(?i)foo\$`) regexp.MustCompile(`(?i)((?m)a|foo)b\$`) regexp.MustCompile(`(?i)(?m)\bfoo\$|bar\$|baz`) regexp.MustCompile(`(?i)(?m)foo|bar\$|baz`) regexp.MustCompile(`(?i:foo|((?:f|^b|(foo|^bar)))\$)`) regexp.MustCompile(`(?i)^(?m)foo|bar|^baz\$`) regexp.MustCompile(`^.+@.+\..+\$`) regexp.MustCompile(`^(")`) regexp.MustCompile(`^((\").*(\"))`) regexp.MustCompile(`^(\+)`) regexp.MustCompile(`~~`) regexp.MustCompile(`;[^=;{}]+;`) regexp.MustCompile(`'''(.*)'''`) regexp.MustCompile(`'([ (\[{<])"`) regexp.MustCompile(`( ")`) regexp.MustCompile(`(\*[^ ][^*]*\*)`) regexp.MustCompile(`[<>]+`) regexp.MustCompile(`[!&]([^=!&?[)]+)|\[\[(.*?)\]\]`) regexp.MustCompile(`[.?,!;:@#\$%^&*()]+`) regexp.MustCompile(`\*\*[^*]*\*\*`) regexp.MustCompile(`\+[^+]*\+`) regexp.MustCompile("^([^:]*):`(.*)\$") regexp.MustCompile("^\$") regexp.MustCompile("^\\[(.*?)\\]") regexp.MustCompile("^\\{\\.?([^{}]+)\\}\$|^\\.?([^{}]+)\$") regexp.MustCompile("<[^>]+>") regexp.MustCompile("_") regexp.MustCompile("/+") regexp.MustCompile("/+\$") regexp.MustCompile(".*=.*,.*=.*") regexp.MustCompile(".+@.+") regexp.MustCompile("") regexp.MustCompile("(.+)@(.+)#(.+)|(.+)@(.+)") regexp.MustCompile("([^:@]*)(:([^@]*))?@(.+)") regexp.MustCompile("([\\/\\[\\]\\(\\)\\\\^\\\$\\.\\|\\?\\*\\+\\'])") regexp.MustCompile("[ ]") regexp.MustCompile("[,:]") regexp.MustCompile("[:=]") regexp.MustCompile("[!#]{(.+?)}") regexp.MustCompile("[@:;,]+") regexp.MustCompile("[\\\\][_~\\.\\-!\$&'\\(\\)*+,;=/?#@%]") regexp.MustCompile("\\{(.*?)\\}+") regexp.MustCompile("#.*") regexp.MustCompile("~[^01]") regexp.MustCompile("^[01]{1,64}\$") regexp.MustCompile(`^(?:[-+]?(?:0|[1-9]\d*))\$`) regexp.MustCompile("\033.*?m") regexp.MustCompile("([0-7]{6}) [^ ]+ [0-9a-f]{40}\t(.*)") regexp.MustCompile("^[0-9]+") regexp.MustCompile("[*][0-9]+\$") regexp.MustCompile("[\\.[0-9]+]*") regexp.MustCompile("[+-]?[0-9]+") regexp.MustCompile("[0-9]+") regexp.MustCompile(".* ([0-9]+)\\.([0-9]+)") regexp.MustCompile("[+-]?[0-9]*\\.[0-9]+") regexp.MustCompile("[0-9]+(.[0-9]+)?") regexp.MustCompile("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)\$") regexp.MustCompile("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:(?:[Tt]|[ \t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \t]*(?:Z|([-+][0-9][0-9]?)(?::([0-9][0-9])?)?))?)?\$") regexp.MustCompile("[0-9A-Fa-f]") regexp.MustCompile("([0-9a-fA-F]{40}) ([0-9a-fA-F]{40}) refs\\/(heads|tags)\\/(.+?)(\x00|\$)") regexp.MustCompile("^#[0-9a-fA-F]{6}\$") regexp.MustCompile("^[0-9A-Fa-f]{64}") regexp.MustCompile("^([.0-9]+)(?:_(?:RC|OSEr)[0-9]+)?") regexp.MustCompile(`0\d{2}-[2-9]\d{2}-\d{4}`) regexp.MustCompile(`0\d-[2-9]\d{3}-\d{4}`) regexp.MustCompile(`0\d{3}-[2-9]\d-\d{4}`) regexp.MustCompile(`0\d{4}-[2-9]-\d{4}`) regexp.MustCompile("\\.0*e\\+0*") regexp.MustCompile("0x0+([0-9])") regexp.MustCompile("^0x[a-h0-9]+( 0x[a-h0-9]+)*\$") regexp.MustCompile(`^ *(#{1,6}) *([^\n]+?) *#* *(?:\n|\$)`) regexp.MustCompile("^[1-9][0-9]?") regexp.MustCompile("^[1-9][0-9]*%?\$") regexp.MustCompile(":443\$") regexp.MustCompile(`^4\d{12}(\d{3})?\$`) regexp.MustCompile(`^((?: {4}|\t)[^\n]+\n*)+`) regexp.MustCompile(`^(5[1-5]\d{4}|677189)\d{10}\$`) regexp.MustCompile(`^(6011|65\d{2}|64[4-9]\d)\d{12}|(62\d{14})\$`) regexp.MustCompile("a") regexp.MustCompile(`[áàảãạấầẩẫậâăắằẳẵặ]`) regexp.MustCompile(`a[act]ggtaaa|tttacc[agt]t`) regexp.MustCompile(`a+b+`) regexp.MustCompile(`abc{2,5}d?e*f+`) regexp.MustCompile(`^absolute(\.|-).*`) regexp.MustCompile(`\ACK2txt\n\$`) regexp.MustCompile(`Acl`) regexp.MustCompile("address already in use") regexp.MustCompile(`Adm([^i]|\$)`) regexp.MustCompile(`[aeiou][^aeiou]`) regexp.MustCompile(`Aes`) regexp.MustCompile("^[a-f,0-9]*\$") regexp.MustCompile("^[a-f0-9]{64}\\.json\$") regexp.MustCompile(`^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}\$`) regexp.MustCompile(`[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`) regexp.MustCompile("[^a-fA-F0-9]") regexp.MustCompile("#([a-fA-F0-9]{6})") regexp.MustCompile(`agggtaaa|tttaccct`) regexp.MustCompile(`([\w\W]+?)`) regexp.MustCompile(`a[^rst]c`) regexp.MustCompile(`[^a-z]+`) regexp.MustCompile(`[a-z]+`) regexp.MustCompile("// *@([a-z]*) *(.*)\$") regexp.MustCompile("[a-z]+") regexp.MustCompile("^[-a-z0-9_/]+\$") regexp.MustCompile("[a-z]+[0-9]+\$") regexp.MustCompile("^[a-z0-9][a-z0-9\\-]{2,62}\$") regexp.MustCompile("[^a-zA-Z\\_\\ ]") regexp.MustCompile("[a-zA-Z]") regexp.MustCompile(`[^a-zA-Z0-9]`) regexp.MustCompile("^[a-zA-Z0-9_-]+\$") regexp.MustCompile("^[a-zA-Z0-9_.-]+\$") regexp.MustCompile("^[a-zA-Z0-9_./:-]+\$") regexp.MustCompile("^[a-zA-Z0-9-_./]+\$") regexp.MustCompile("^[a-zA-Z0-9!#\$%&'*+/=?^_`{|}~.-]+\$") regexp.MustCompile("[^.a-zA-Z0-9_-]") regexp.MustCompile("[^a-zA-Z0-9_.-]") regexp.MustCompile("[^a-zA-Z0-9_]") regexp.MustCompile("[^a-zA-Z0-9_\\-\\.]") regexp.MustCompile("[^a-zA-Z0-9-]") regexp.MustCompile("[^a-zA-Z0-9+=,.@_-]") regexp.MustCompile("[a-zA-Z0-9_]") regexp.MustCompile("[A-Z][a-z0-9]+") regexp.MustCompile("^[a-zA-Z0-9~._-]{43,128}\$") regexp.MustCompile("^[a-zA-Z0-9._~-]{43,128}\$") regexp.MustCompile("^[A-Za-z0-9][A-Za-z0-9_\\-\\.]{0,23}\$") regexp.MustCompile(`>([a-zA-Z0-9]+@[a-zA-Z0-9.]+\.[a-zA-Z0-9]+)<`) regexp.MustCompile(`[a-zA-Z0-9]+@[a-zA-Z-0-9.]+\.[a-zA-Z0-9]+`) regexp.MustCompile(`[a-zA-Z0-9]+@[a-zA-Z0-9.]+\.[a-zA-Z0-9]+`) regexp.MustCompile("^[a-zA-Z0-9]([-a-zA-Z0-9]*[a-zA-Z0-9])\$") regexp.MustCompile(`^[A-Za-z0-9._%+\-]+@[A-Za-z0-9.\-]+\.[A-Za-z]{2,4}\$`) regexp.MustCompile("([a-zA-Z]+)(([0-9]+)(x([0-9]+))?)?") regexp.MustCompile("^[a-zA-Z]+(\\.[a-zA-Z]+)*\$") regexp.MustCompile("{([a-zA-Z][a-zA-Z0-9_.]*).*}") regexp.MustCompile("@[a-zA-Z]+(-[a-zA-Z0-9]+)*") regexp.MustCompile("^[a-zA-Z_][a-zA-Z0-9_]{0,127}\$") regexp.MustCompile("^[a-zA-Z_]\\w*\$") regexp.MustCompile("[^A-Z`'\\s]") regexp.MustCompile(`\b(720p|1080p|hdtv|x264|dts|bluray)\b.*`) regexp.MustCompile(`\\b[A-Fa-f0-9]{32}\\b`) regexp.MustCompile(`^\\$bgm\s+(\[.*\])\$`) regexp.MustCompile("^--bind-ro=/host/foo:.*/app/foo(:rbind)?\$") regexp.MustCompile("^--bind(-ro)?=/host/foo:.*/app/foo:rbind\$") regexp.MustCompile(`\blimit \?(?:, ?\?| offset \?)?`) regexp.MustCompile(`\b(Ma?c)([A-Za-z]+)`) regexp.MustCompile(`\bMac[A-Za-z]{2,}[^aciozj]\b`) regexp.MustCompile(`\bMc`) regexp.MustCompile(`\bsample\b`) regexp.MustCompile("BUG") regexp.MustCompile("^/+bzz[i]?:/+[^/]+\$") regexp.MustCompile("^/+bzz[ir]?:/+") regexp.MustCompile(`^(\*+)(?: +(CANCELED|DONE|TODO))?(?: +(\[#.\]))?(?: +(.*?))?(?:(:[a-zA-Z0-9_@#%:]+:))??[ \t]*\$`) regexp.MustCompile(`^C[A-Z0-9]*\$`) regexp.MustCompile(`[cgt]gggtaaa|tttaccc[acg]`) regexp.MustCompile(` CHARACTER SET ([^ ]+)`) regexp.MustCompile("charset=([^ ;]*)") regexp.MustCompile(`CIFS Session: (?P\d+)`) regexp.MustCompile(".*cluster is healthy.*") regexp.MustCompile(` COLLATE ([^ ]+)`) regexp.MustCompile(`\.(com|com\.\w{2})\$`) regexp.MustCompile("(connection refused|connection reset by peer)\$") regexp.MustCompile("Could not find an allocated subnet for") regexp.MustCompile("^cpu([0-9]*)") regexp.MustCompile("Credential=([A-Z0-9]+)/") regexp.MustCompile("(\\d+)") regexp.MustCompile("[^\\d]+\$") regexp.MustCompile("\\d+") regexp.MustCompile("^D[0-9]+:[0-9]+\$") regexp.MustCompile(`^\d{1,7}\$`) regexp.MustCompile(`^\d{3}[- ]?\d{2}[- ]?\d{4}\$`) regexp.MustCompile(`^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{2}:\d{2}\$`) regexp.MustCompile(`^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z\$`) regexp.MustCompile(`^\d{8}T\d{6}Z\$`) regexp.MustCompile("^(\\d+-)([a-z]*)\$") regexp.MustCompile("\\d.\\d.\\d") regexp.MustCompile("^@@ -(\\d+),?(\\d*) \\+(\\d+),?(\\d*) @@\$") regexp.MustCompile(`(\d+\.\d+) (\w+)(\(.*)`) regexp.MustCompile(`(\d+\.\d+) (\w+)(\(.*) <(.+)>`) regexp.MustCompile("Default Guest Additions ISO:(.+)") regexp.MustCompile("default = (?P.+)\n") regexp.MustCompile(".+/deployments/(\\d+)") regexp.MustCompile(`^\d*H[A-Z0-9]*\$`) regexp.MustCompile("dial tcp: lookup (\\S+): no such host") regexp.MustCompile("dial tcp (\\S+): connection refused") regexp.MustCompile("dial tcp (\\S+): (?:connection timed out|i/o timeout|no route to host)") regexp.MustCompile("Digest: ([\\S]+)") regexp.MustCompile("[^[:digit:].]") regexp.MustCompile(`
.+\n.+<\/span>(.+)<\/div>`) regexp.MustCompile("^docker/[0-9A-Za-z+]") regexp.MustCompile("^\\(Docker-Client/[0-9A-Za-z+]") regexp.MustCompile(`Domain Name\.*: *(.+)`) regexp.MustCompile(`^.+_dsa.*\$`) regexp.MustCompile("[^\\d-_\\.]") regexp.MustCompile(`^.+_ecdsa\$`) regexp.MustCompile(`^.+_ed25519\$`) regexp.MustCompile(` edge/(\d+)\.(\d+)`) regexp.MustCompile("[eE][+-]?[0-9]+") regexp.MustCompile("\\.el[0-9_]*\\.") regexp.MustCompile(`(Email|EmailAddress)\(\)`) regexp.MustCompile("EnvironmentFile=-(.*openshift-sdn.*)") regexp.MustCompile("error: (.*)") regexp.MustCompile("^error inheriting socket fd") regexp.MustCompile(`ESCAPE_([[:alnum:]]+)`) regexp.MustCompile(`(es|ed|ing)\$`) regexp.MustCompile("^exit status (\\d+)") regexp.MustCompile("^export .*\$") regexp.MustCompile(`^(::f{4}:)?10\.\d{1,3}\.\d{1,3}\.\d{1,3}`) regexp.MustCompile("\\.fc[0-9_]*\\.") regexp.MustCompile("(.*)ffjson:(\\s*)((skipdecoder)|(nodecoder))(.*)") regexp.MustCompile("(.*)ffjson:(\\s*)((skipencoder)|(noencoder))(.*)") regexp.MustCompile("(.*)ffjson:(\\s*)((skip)|(ignore))(.*)") regexp.MustCompile(".*fluentd-elasticsearch.*") regexp.MustCompile("Forwarding from 127.0.0.1:([0-9]+) -> 80") regexp.MustCompile("^found invalid count value: LISTEN_FDS=a\$") regexp.MustCompile("found=([^\n]+)") regexp.MustCompile("-gci-dev-([0-9]+)-") regexp.MustCompile("git-media|hawser|git-lfs") regexp.MustCompile("^go[0-9]+\\.([0-9]+)") regexp.MustCompile("//go:generate[^\n]*\n") regexp.MustCompile(`\.(gov|gov\.\w{2})\$`) regexp.MustCompile("^H[0-9]+:[0-9a-fA-F]{1,16}\$") regexp.MustCompile("hdd0.* image='(.*)' type=*") regexp.MustCompile("^(HEAD|GET|PUT|POST|PATCH|OPTIONS|DELETE) ") regexp.MustCompile("^/?(.*?)/(HEAD|git-upload-pack|git-receive-pack|info/refs|objects/.*)\$") regexp.MustCompile("^/hello\$") regexp.MustCompile("/hello") regexp.MustCompile("he|ll|o+") regexp.MustCompile("^/hello/(?P[^/]+)\$") regexp.MustCompile("^/hello/(?P[a-z]+)\$") regexp.MustCompile("(?:http://|https://|)([0-9]*)\\.dkr\\.ecr\\.(.*)\\.amazonaws\\.com.*") regexp.MustCompile("(https?)://([^/]+)(/api/v3)?/repos/([^/]+)/([^/]+)/releases") regexp.MustCompile("^https?://foo") regexp.MustCompile("^https?://foo/nope") regexp.MustCompile("http: TLS handshake error from ([\\d.]+):\\d+: remote error: bad certificate") regexp.MustCompile("@(?i:article){.*") regexp.MustCompile(`(?i)\bcode\b`) regexp.MustCompile(`(?i)\+BEGIN_(CENTER|COMMENT|EXAMPLE|QUOTE|SRC|VERSE)`) regexp.MustCompile("(?i)^(circle|disc|square|a|A|i|I|1)\$") regexp.MustCompile("(?i)^count(.+)\$") regexp.MustCompile(`(?i)^d('ye)\$`) regexp.MustCompile(`(?i)([ex](\d{2})(?:\d|\$))`) regexp.MustCompile(`(?i)`) regexp.MustCompile(`(?i:http).*.git`) regexp.MustCompile("(?i) (=|<>|>|<|LIKE|IS|IN) ") regexp.MustCompile(`(?i)\([^)]*mix[^)]*\)\$`) regexp.MustCompile("^import .*\$") regexp.MustCompile(`(?ims)`) regexp.MustCompile(`(?ims)`) regexp.MustCompile(`(?ims).*?`) regexp.MustCompile(`(?imsU)\[quote(?:=[^\]]+)?\](.+)\[/quote\]`) regexp.MustCompile(`(?imU)^(.*)\$`) regexp.MustCompile("inet ([0-9.]*/[0-9]*) ") regexp.MustCompile("^/([^\\/]+?)/info/refs\$") regexp.MustCompile(`\{inherits=(\d+)\}`) regexp.MustCompile(`(?:(.+); )?InnoDB free: .*`) regexp.MustCompile(`^(int)`) regexp.MustCompile(`^((inteiro)|(real)|(caractere)|(lógico))(\s*):`) regexp.MustCompile(`(?i)(refer):\s+(.*?)(\s|\$)`) regexp.MustCompile(`(?i)\([^)]*remaster[^)]*\)\$`) regexp.MustCompile("(?i)rtl|ltr") regexp.MustCompile(`(?is)\(.*?\)`) regexp.MustCompile(`(?is)`) regexp.MustCompile(`(?i)(s?(\d{1,2}))[ex]`) regexp.MustCompile(`^(?i)(\s*insert\s+into\s+)`) regexp.MustCompile("(?i)(^|[,\\s])Upgrade(\$|[,\\s])") regexp.MustCompile(`^(?i)\((\s*\w+(?:\s*,\s*\w+){1,100})\s*\)\s*`) regexp.MustCompile(`(?i)windows nt`) regexp.MustCompile(`(?i)windows phone`) regexp.MustCompile(`k8s_.*\.metadata\.name\$`) regexp.MustCompile(`k8s_\w+_\w+_deployment\.spec\.selector\.match_labels\$`) regexp.MustCompile(`kitsu.io/users/(.*?)/library`) regexp.MustCompile(".*kube-proxy.*") regexp.MustCompile("^language-[a-zA-Z0-9]+\$") regexp.MustCompile(`^LI[A-Z0-9]*\$`) regexp.MustCompile(`
• 信息来源[^>]+">([^<]+)<`) regexp.MustCompile(`
• 信息标题.*([^<]+)<`) regexp.MustCompile("listen tcp :443: bind: permission denied") regexp.MustCompile("listen tcp :80: bind: permission denied") regexp.MustCompile("master(-...)?\$") regexp.MustCompile("max-age= *([0-9]+)") regexp.MustCompile(`(?m)^Created: *(.*?)\$`) regexp.MustCompile(`(?m:^%(\.\d)?[sdfgtq]\$)`) regexp.MustCompile("^MemFree:") regexp.MustCompile("^MemTotal:") regexp.MustCompile(`^metric .*`) regexp.MustCompile(`(?m)^h([0-6])\.(.*)\$`) regexp.MustCompile("^missing port in address abc\$") regexp.MustCompile(`^(?:mister )(.*)\$`) regexp.MustCompile(`(?m)^@@@@\n`) regexp.MustCompile("") regexp.MustCompile("(?ms)^(.+)\\=(.*)\$") regexp.MustCompile("(?ms)\\.{3}") regexp.MustCompile(`(?m:^)(\s+)?(?i)(Whois server|whois):\s+(.*?)(\s|\$)`) regexp.MustCompile("(?ms)^(\\w+)\\=(.*)\$") regexp.MustCompile("(?m)^[ \t]+\$") regexp.MustCompile(`(?m:^[ \t]*%(\.\d)?[sdfgtq]\$)`) regexp.MustCompile(`(?m)^[ \t]*(#+)\s+`) regexp.MustCompile("(?m)(^[ \t]*)(?:[^ \t\n])") regexp.MustCompile(`^[^\n]+`) regexp.MustCompile(`^\n+`) regexp.MustCompile(`}\n+\$`) regexp.MustCompile("\n+") regexp.MustCompile(`\n={2,}`) regexp.MustCompile("net0.* mac=([0-9A-F]{12}) card=.*") regexp.MustCompile("\nfoobar_process_cpu_seconds_total [0-9]") regexp.MustCompile("\nfoobar_process_max_fds [1-9]") regexp.MustCompile("\nfoobar_process_open_fds [1-9]") regexp.MustCompile("\nfoobar_process_resident_memory_bytes [1-9]") regexp.MustCompile("\nfoobar_process_start_time_seconds [0-9.]{10,}") regexp.MustCompile("\nfoobar_process_virtual_memory_bytes [1-9]") regexp.MustCompile("([niftvw])(?: % ([0-9]+))? (!=|=)(.*)") regexp.MustCompile(".*node-problem-detector.*") regexp.MustCompile("\nprocess_cpu_seconds_total [0-9]") regexp.MustCompile("\nprocess_max_fds [1-9]") regexp.MustCompile("\nprocess_open_fds [1-9]") regexp.MustCompile("\nprocess_resident_memory_bytes [1-9]") regexp.MustCompile("\nprocess_start_time_seconds [0-9.]{10,}") regexp.MustCompile("\nprocess_virtual_memory_bytes [1-9]") regexp.MustCompile(`(\n|\r|\r\n)\$`) regexp.MustCompile("\n|\u0085|\u2028|\u2029") regexp.MustCompile("[oa]+") regexp.MustCompile("") regexp.MustCompile("%p1") regexp.MustCompile("parent branch: (?P.+)\n") regexp.MustCompile(`\p{Cyrillic}`) regexp.MustCompile("(?P.+) UpstreamClient(?P.+)") regexp.MustCompile("peer_ifindex: (\\d+)") regexp.MustCompile(`--(?P[\\w-]+?):\\s+?(?P.+?);`) regexp.MustCompile("^remote\\.(.*)\\.url (.*?)\$") regexp.MustCompile(`<(.|[\r\n])*?>`) regexp.MustCompile(" +\r\n") regexp.MustCompile("rr") regexp.MustCompile(`^.+_rsa\$`) regexp.MustCompile("^=== RUN:? +(.+)\$") regexp.MustCompile(".*RUNNING") regexp.MustCompile("RUNNING") regexp.MustCompile("Running in (.+)") regexp.MustCompile(`[.]|,|\s/`) regexp.MustCompile("^\\s+\$") regexp.MustCompile("\\s+") regexp.MustCompile("('[^']*')|(\\S+)") regexp.MustCompile("[\\s]{2,}") regexp.MustCompile("(?s)-----BEGIN CERTIFICATE-----.*-----END CERTIFICATE-----") regexp.MustCompile("(?s)-----BEGIN RSA PRIVATE KEY-----.*-----END RSA PRIVATE KEY-----") regexp.MustCompile("script_[0-9]{4}.sh") regexp.MustCompile("(?s)(-?[\\d.]+)\\)") regexp.MustCompile("(?s)\\(([\\d.]+)") regexp.MustCompile(`(-\s+(\d+)(?:\d|\$))`) regexp.MustCompile("[\\S]+: digest: ([\\S]+) size: [0-9]+") regexp.MustCompile("^\\s*\\d+\\s*\$") regexp.MustCompile(`^\s*events\s*{`) regexp.MustCompile("^(sha256:|)[a-z0-9]{64}\\n\$") regexp.MustCompile(`Share \(unique mount targets\): (?P\d+)`) regexp.MustCompile(`^\s*http\s*{`) regexp.MustCompile(`\s(if|else|while|catch)\s*([^{;]+;|;)`) regexp.MustCompile("Signature=([[0-9a-f]+)") regexp.MustCompile(`SMB Request/Response Buffer: (?P\d+) Pool size: (?P\d+)`) regexp.MustCompile(`<==\sPlayerInventory\.GetPlayerCardsV3\(\d*\)`) regexp.MustCompile(`\s*:\s*`) regexp.MustCompile("\\s*,\\s*") regexp.MustCompile(`^(\S*) (\S*) (\d*) (\S*) IP(\d) (\S*)`) regexp.MustCompile(`.*sses\$`) regexp.MustCompile(`^(\s+\S+:\s+.*)\$`) regexp.MustCompile("\\s+([^\\s]*)=\\s*(PID[^\\s]*)") regexp.MustCompile("Starting \\w+ Master") regexp.MustCompile("Starting \\w+ Node") regexp.MustCompile("^(stop|terminate)\$") regexp.MustCompile("Successfully built ([0-9a-f]{12})") regexp.MustCompile(`\s*Version:\s*(.+)\$`) regexp.MustCompile(`\s*\{weight=(\d+)\}\s*`) regexp.MustCompile("^\\s*(\\w+)\\s+(\\w+)\\s+(.+)\$") regexp.MustCompile(`^[ \t]*#`) regexp.MustCompile("[ \t]") regexp.MustCompile("[\t ]+") regexp.MustCompile("\t+") regexp.MustCompile("(tarsum)(.([a-z0-9]+))?\\+([a-zA-Z0-9]+):([A-Fa-f0-9]+)") regexp.MustCompile("tarsum(?:.[a-z0-9]+)?\\+[a-zA-Z0-9]+:[A-Fa-f0-9]+") regexp.MustCompile(`
• 性别：([^<]+)
`) regexp.MustCompile("^Test[0-9]*([A-Z].*\$)") regexp.MustCompile("^text/plain(;.*)?\$") regexp.MustCompile("/tmp/.+") regexp.MustCompile("/tmp/script_[0-9]{4}.sh") regexp.MustCompile("[ \t\n]+") regexp.MustCompile("[\t\r\n]") regexp.MustCompile("[\u000D\u000A]+") regexp.MustCompile("Unable to decode an event from the watch stream: local error: unexpected message") regexp.MustCompile(`unifi_devices_adopted{site="Default"} 1`) regexp.MustCompile(`unifi_devices{site="Default"} 1`) regexp.MustCompile(`unifi_devices_unadopted{site="Default"} 0`) regexp.MustCompile("^unknown network foo\$") regexp.MustCompile("^unknown network invalid_unix_net_for_test\$") regexp.MustCompile(`^/video/([\w\-]{6,12})\.json\$`) regexp.MustCompile(`^(?:\"|\')\w+(?:\"|\')\$`) regexp.MustCompile(`^\w+\(.*\)\$`) regexp.MustCompile(`#\+(\w+): (.*)`) regexp.MustCompile("^[\\w .?]*\$") regexp.MustCompile(".*\\/watch") regexp.MustCompile(".*west.*") regexp.MustCompile("\\w[\\w-.]+\\w") regexp.MustCompile(`^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*\$`) regexp.MustCompile("\x00([^:]*):([^\x00]*)\x00") regexp.MustCompile("^X:[0-9a-fA-F]+\$") regexp.MustCompile("\x1B\\[(?:[0-9]{1,2}(?:;[0-9]{1,2})?)*[a-zA-Z]") regexp.MustCompile("\x1b[\\[()][0-9;]*[a-zA-Z@]|\x1b.|[\x08\x0e\x0f]") regexp.MustCompile("x509: certificate is valid for (\\S+, )+not (\\S+)") regexp.MustCompile(`[\xC0-\xC6]`) regexp.MustCompile(`[\xC8-\xCB]`) regexp.MustCompile(`[\xE0-\xE6]`) regexp.MustCompile(`[\xE8-\xEB]`) regexp.MustCompile(`[а-яё]`) regexp.MustCompile(`开 本：(\d+)开`) PHP test cases: preg_match('~[а-яё]~', \$s); preg_match('/\s*\{weight=(\d+)\}\s*/', \$s); preg_match('/\{inherits=(\d+)\}/', \$s); preg_match('/[<>]+/', \$s); preg_match('/[.?,!;:@#\$%^&*()]+/', \$s); preg_match('/^\d{1,7}\$/', \$s); preg_match('/^(")/', \$s); preg_match('/( ")/', \$s); preg_match('/unifi_devices{site="Default"} 1/', \$s); preg_match('/unifi_devices_adopted{site="Default"} 1/', \$s); preg_match('/unifi_devices_unadopted{site="Default"} 0/', \$s); preg_match('/^((\").*(\"))/', \$s); preg_match('~/api/internal/login~', \$s); preg_match('~/api/organizations\?limit=100~', \$s); preg_match('/[áàảãạấầẩẫậâăắằẳẵặ]/', \$s); preg_match('/\.(com|com\.\w{2})\$/', \$s); preg_match('/\.(gov|gov\.\w{2})\$/', \$s); preg_match('/[\xC0-\xC6]/', \$s); preg_match('/[\xE0-\xE6]/', \$s); preg_match('/[\xC8-\xCB]/', \$s); preg_match('/[\xE8-\xEB]/', \$s); preg_match('/\bsample\b/', \$s); preg_match('/\b(720p|1080p|hdtv|x264|dts|bluray)\b.*/', \$s); preg_match('/(?i)\bcode\b/', \$s); preg_match('/\p{Cyrillic}/', \$s); preg_match('/--(?P[\\w-]+?):\\s+?(?P.+?);/', \$s); preg_match('/^.+_rsa\$/', \$s); preg_match('/^.+_dsa.*\$/', \$s); preg_match('/^.+_ed25519\$/', \$s); preg_match('/^.+_ecdsa\$/', \$s); preg_match('/a[^rst]c/', \$s); preg_match('/
• 信息标题.*([^<]+)信息来源[^>]+">([^<]+)\d+)/', \$s); preg_match('/Share \(unique mount targets\): (?P\d+)/', \$s); preg_match('~SMB Request/Response Buffer: (?P\d+) Pool size: (?P\d+)~', \$s); preg_match('~(?is)~', \$s); preg_match('/(?is)\(.*?\)/', \$s); preg_match('/性别：([^<]+)~', \$s); preg_match('/\ACK2txt\n\$/', \$s); preg_match('/^\d{3}[- ]?\d{2}[- ]?\d{4}\$/', \$s); preg_match('~([\w\W]+?)~', \$s); preg_match('//', \$s); preg_match('/^(?i)(\s*insert\s+into\s+)/', \$s); preg_match('/^(?i)\((\s*\w+(?:\s*,\s*\w+){1,100})\s*\)\s*/', \$s); preg_match('/0\d-[2-9]\d{3}-\d{4}/', \$s); preg_match('/0\d{2}-[2-9]\d{2}-\d{4}/', \$s); preg_match('/0\d{3}-[2-9]\d-\d{4}/', \$s); preg_match('/0\d{4}-[2-9]-\d{4}/', \$s); preg_match('/(?i)(refer):\s+(.*?)(\s|\$)/', \$s); preg_match('/(?m:^)(\s+)?(?i)(Whois server|whois):\s+(.*?)(\s|\$)/', \$s); preg_match('/@(?i:article){.*/', \$s); preg_match('/\blimit \?(?:, ?\?| offset \?)?/', \$s); preg_match('/^[A-Za-z0-9._%+\-]+@[A-Za-z0-9.\-]+\.[A-Za-z]{2,4}\$/', \$s); preg_match('/^4\d{12}(\d{3})?\$/', \$s); preg_match('/^(5[1-5]\d{4}|677189)\d{10}\$/', \$s); preg_match('/^(6011|65\d{2}|64[4-9]\d)\d{12}|(62\d{14})\$/', \$s); preg_match('/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z\$/', \$s); preg_match('/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{2}:\d{2}\$/', \$s); preg_match('/^\d{8}T\d{6}Z\$/', \$s); preg_match('/^\w+\(.*\)\$/', \$s); preg_match('/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/', \$s); preg_match('/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}\$/', \$s); preg_match('~^/video/([\w\-]{6,12})\.json\$~', \$s); preg_match('/(\n|\r|\r\n)\$/', \$s); preg_match('/(?m)^@@@@\n/', \$s); preg_match('/agggtaaa|tttaccct/', \$s); preg_match('/[cgt]gggtaaa|tttaccc[acg]/', \$s); preg_match('/a[act]ggtaaa|tttacc[agt]t/', \$s); preg_match('/(?i:http).*.git/', \$s); preg_match('~kitsu.io/users/(.*?)/library~', \$s); preg_match('/k8s_.*\.metadata\.name\$/', \$s); preg_match('/k8s_\w+_\w+_deployment\.spec\.selector\.match_labels\$/', \$s); preg_match('/[!&]([^=!&?[)]+)|\[\[(.*?)\]\]/', \$s); preg_match('/\\b[A-Fa-f0-9]{32}\\b/', \$s); preg_match('/(?i)(s?(\d{1,2}))[ex]/', \$s); preg_match('/(?i)([ex](\d{2})(?:\d|\$))/', \$s); preg_match('/(-\s+(\d+)(?:\d|\$))/', \$s); preg_match('~ edge/(\d+)\.(\d+)~', \$s); preg_match('/^.+@.+\..+\$/', \$s); preg_match('/^\\$bgm\s+(\[.*\])\$/', \$s); preg_match('/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*\$/', \$s); preg_match('/;[^=;{}]+;/', \$s); preg_match('/\s(if|else|while|catch)\s*([^{;]+;|;)/', \$s); preg_match('/^[^ ]*apache2/', \$s); preg_match('/^(?:[-+]?(?:0|[1-9]\d*))\$/', \$s); preg_match('/<(.|[\r\n])*?>/', \$s); preg_match('/^(::f{4}:)?10\.\d{1,3}\.\d{1,3}\.\d{1,3}/', \$s); preg_match('/(?i)\([^)]*remaster[^)]*\)\$/', \$s); preg_match('/>([a-zA-Z0-9]+@[a-zA-Z0-9.]+\.[a-zA-Z0-9]+)