re2 1.19.2 → 1.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/.github/actions/linux-alpine-node-16/Dockerfile +1 -1
  2. package/.github/actions/linux-alpine-node-18/Dockerfile +1 -1
  3. package/.github/actions/linux-alpine-node-20/Dockerfile +1 -1
  4. package/.gitmodules +5 -2
  5. package/README.md +1 -0
  6. package/binding.gyp +82 -25
  7. package/lib/replace.cc +4 -4
  8. package/package.json +1 -1
  9. package/tsconfig.json +2 -1
  10. package/vendor/re2/.bazelrc +16 -0
  11. package/vendor/re2/.github/bazel.sh +24 -0
  12. package/vendor/re2/.github/cmake.sh +12 -0
  13. package/vendor/re2/.github/workflows/ci-bazel.yml +17 -0
  14. package/vendor/re2/.github/workflows/ci-cmake.yml +108 -0
  15. package/vendor/re2/.github/workflows/ci.yml +89 -0
  16. package/vendor/re2/.github/workflows/pr.yml +26 -0
  17. package/vendor/re2/.github/workflows/python.yml +185 -0
  18. package/vendor/re2/AUTHORS +13 -0
  19. package/vendor/re2/BUILD.bazel +280 -0
  20. package/vendor/re2/CMakeLists.txt +268 -0
  21. package/vendor/re2/CONTRIBUTING.md +2 -0
  22. package/vendor/re2/CONTRIBUTORS +41 -0
  23. package/vendor/re2/Makefile +400 -0
  24. package/vendor/{README → re2/README} +5 -0
  25. package/vendor/re2/SECURITY.md +4 -0
  26. package/vendor/re2/WORKSPACE.bazel +62 -0
  27. package/vendor/re2/app/BUILD.bazel +19 -0
  28. package/vendor/re2/app/_re2.cc +94 -0
  29. package/vendor/re2/app/_re2.d.ts +23 -0
  30. package/vendor/re2/app/app.ts +111 -0
  31. package/vendor/re2/app/build.sh +50 -0
  32. package/vendor/re2/app/index.html +5 -0
  33. package/vendor/re2/app/package.json +14 -0
  34. package/vendor/re2/app/rollup.config.js +28 -0
  35. package/vendor/re2/app/tsconfig.json +17 -0
  36. package/vendor/re2/benchlog/benchplot.py +98 -0
  37. package/vendor/re2/benchlog/mktable +155 -0
  38. package/vendor/re2/doc/mksyntaxgo +42 -0
  39. package/vendor/re2/doc/mksyntaxhtml +42 -0
  40. package/vendor/re2/doc/mksyntaxwiki +36 -0
  41. package/vendor/re2/doc/syntax.html +477 -0
  42. package/vendor/re2/doc/syntax.txt +463 -0
  43. package/vendor/re2/lib/git/commit-msg.hook +104 -0
  44. package/vendor/re2/libre2.symbols +19 -0
  45. package/vendor/re2/libre2.symbols.darwin +15 -0
  46. package/vendor/re2/python/BUILD.bazel +36 -0
  47. package/vendor/re2/python/README +1 -0
  48. package/vendor/re2/python/_re2.cc +338 -0
  49. package/vendor/re2/python/re2.py +582 -0
  50. package/vendor/re2/python/re2_test.py +482 -0
  51. package/vendor/re2/python/setup.py +105 -0
  52. package/vendor/re2/{bitmap256.cc → re2/bitmap256.cc} +4 -4
  53. package/vendor/re2/{bitstate.cc → re2/bitstate.cc} +21 -25
  54. package/vendor/re2/{compile.cc → re2/compile.cc} +5 -4
  55. package/vendor/re2/{dfa.cc → re2/dfa.cc} +120 -101
  56. package/vendor/re2/{filtered_re2.cc → re2/filtered_re2.cc} +8 -11
  57. package/vendor/re2/{filtered_re2.h → re2/filtered_re2.h} +5 -4
  58. package/vendor/re2/{fuzzing → re2/fuzzing}/re2_fuzzer.cc +4 -6
  59. package/vendor/re2/{mimics_pcre.cc → re2/mimics_pcre.cc} +0 -1
  60. package/vendor/re2/{nfa.cc → re2/nfa.cc} +34 -37
  61. package/vendor/re2/{onepass.cc → re2/onepass.cc} +25 -27
  62. package/vendor/re2/{parse.cc → re2/parse.cc} +118 -121
  63. package/vendor/re2/{prefilter.cc → re2/prefilter.cc} +2 -3
  64. package/vendor/re2/{prefilter.h → re2/prefilter.h} +0 -1
  65. package/vendor/re2/{prefilter_tree.cc → re2/prefilter_tree.cc} +4 -5
  66. package/vendor/re2/{prefilter_tree.h → re2/prefilter_tree.h} +1 -2
  67. package/vendor/re2/{prog.cc → re2/prog.cc} +20 -21
  68. package/vendor/re2/{prog.h → re2/prog.h} +21 -22
  69. package/vendor/re2/{re2.cc → re2/re2.cc} +51 -62
  70. package/vendor/re2/{re2.h → re2/re2.h} +78 -40
  71. package/vendor/re2/{regexp.cc → re2/regexp.cc} +11 -12
  72. package/vendor/re2/{regexp.h → re2/regexp.h} +9 -10
  73. package/vendor/re2/{set.cc → re2/set.cc} +3 -5
  74. package/vendor/re2/{set.h → re2/set.h} +4 -3
  75. package/vendor/re2/{simplify.cc → re2/simplify.cc} +1 -2
  76. package/vendor/re2/re2/stringpiece.h +24 -0
  77. package/vendor/re2/{testing → re2/testing}/backtrack.cc +22 -25
  78. package/vendor/re2/{testing → re2/testing}/charclass_test.cc +23 -21
  79. package/vendor/re2/{testing → re2/testing}/compile_test.cc +5 -4
  80. package/vendor/re2/{testing → re2/testing}/dfa_test.cc +36 -30
  81. package/vendor/re2/{testing → re2/testing}/dump.cc +8 -8
  82. package/vendor/re2/{testing → re2/testing}/exhaustive1_test.cc +1 -1
  83. package/vendor/re2/{testing → re2/testing}/exhaustive2_test.cc +1 -1
  84. package/vendor/re2/{testing → re2/testing}/exhaustive3_test.cc +1 -1
  85. package/vendor/re2/{testing → re2/testing}/exhaustive_test.cc +1 -1
  86. package/vendor/re2/{testing → re2/testing}/exhaustive_tester.cc +36 -32
  87. package/vendor/re2/{testing → re2/testing}/exhaustive_tester.h +0 -1
  88. package/vendor/re2/{testing → re2/testing}/filtered_re2_test.cc +9 -8
  89. package/vendor/re2/{testing → re2/testing}/mimics_pcre_test.cc +3 -2
  90. package/vendor/re2/{testing → re2/testing}/null_walker.cc +1 -1
  91. package/vendor/re2/{testing → re2/testing}/parse_test.cc +13 -12
  92. package/vendor/re2/{testing → re2/testing}/possible_match_test.cc +15 -14
  93. package/vendor/re2/{testing → re2/testing}/random_test.cc +13 -12
  94. package/vendor/re2/{testing → re2/testing}/re2_arg_test.cc +25 -2
  95. package/vendor/re2/{testing → re2/testing}/re2_test.cc +49 -47
  96. package/vendor/re2/{testing → re2/testing}/regexp_benchmark.cc +144 -145
  97. package/vendor/re2/{testing → re2/testing}/regexp_generator.cc +18 -14
  98. package/vendor/re2/{testing → re2/testing}/regexp_generator.h +3 -4
  99. package/vendor/re2/{testing → re2/testing}/regexp_test.cc +1 -1
  100. package/vendor/re2/{testing → re2/testing}/required_prefix_test.cc +5 -4
  101. package/vendor/re2/{testing → re2/testing}/search_test.cc +3 -2
  102. package/vendor/re2/{testing → re2/testing}/set_test.cc +1 -1
  103. package/vendor/re2/{testing → re2/testing}/simplify_test.cc +3 -2
  104. package/vendor/re2/{testing → re2/testing}/string_generator.cc +3 -3
  105. package/vendor/re2/{testing → re2/testing}/string_generator.h +5 -6
  106. package/vendor/re2/{testing → re2/testing}/string_generator_test.cc +2 -2
  107. package/vendor/re2/{testing → re2/testing}/tester.cc +77 -78
  108. package/vendor/re2/{testing → re2/testing}/tester.h +13 -15
  109. package/vendor/re2/{tostring.cc → re2/tostring.cc} +7 -8
  110. package/vendor/re2/{unicode_casefold.h → re2/unicode_casefold.h} +0 -1
  111. package/vendor/re2/{unicode_groups.h → re2/unicode_groups.h} +0 -1
  112. package/vendor/re2/{walker-inl.h → re2/walker-inl.h} +2 -1
  113. package/vendor/re2/re2.pc.in +9 -0
  114. package/vendor/re2/re2Config.cmake.in +28 -0
  115. package/vendor/re2/runtests +33 -0
  116. package/vendor/re2/testinstall.cc +27 -0
  117. package/vendor/re2/ucs2.diff +567 -0
  118. package/vendor/{util → re2/util}/logging.h +2 -2
  119. package/vendor/{util → re2/util}/pcre.cc +47 -116
  120. package/vendor/{util → re2/util}/pcre.h +53 -63
  121. package/vendor/re2/util/strutil.cc +26 -0
  122. package/vendor/{util → re2/util}/strutil.h +0 -5
  123. package/vendor/re2/stringpiece.cc +0 -65
  124. package/vendor/re2/stringpiece.h +0 -213
  125. package/vendor/util/benchmark.cc +0 -131
  126. package/vendor/util/benchmark.h +0 -156
  127. package/vendor/util/flags.h +0 -26
  128. package/vendor/util/mix.h +0 -41
  129. package/vendor/util/mutex.h +0 -164
  130. package/vendor/util/strutil.cc +0 -149
  131. package/vendor/util/test.cc +0 -34
  132. package/vendor/util/test.h +0 -50
  133. package/vendor/util/util.h +0 -42
  134. /package/vendor/{LICENSE → re2/LICENSE} +0 -0
  135. /package/vendor/re2/{bitmap256.h → re2/bitmap256.h} +0 -0
  136. /package/vendor/re2/{fuzzing → re2/fuzzing}/compiler-rt/LICENSE +0 -0
  137. /package/vendor/re2/{fuzzing → re2/fuzzing}/compiler-rt/include/fuzzer/FuzzedDataProvider.h +0 -0
  138. /package/vendor/re2/{make_perl_groups.pl → re2/make_perl_groups.pl} +0 -0
  139. /package/vendor/re2/{make_unicode_casefold.py → re2/make_unicode_casefold.py} +0 -0
  140. /package/vendor/re2/{make_unicode_groups.py → re2/make_unicode_groups.py} +0 -0
  141. /package/vendor/re2/{perl_groups.cc → re2/perl_groups.cc} +0 -0
  142. /package/vendor/re2/{pod_array.h → re2/pod_array.h} +0 -0
  143. /package/vendor/re2/{sparse_array.h → re2/sparse_array.h} +0 -0
  144. /package/vendor/re2/{sparse_set.h → re2/sparse_set.h} +0 -0
  145. /package/vendor/re2/{unicode.py → re2/unicode.py} +0 -0
  146. /package/vendor/re2/{unicode_casefold.cc → re2/unicode_casefold.cc} +0 -0
  147. /package/vendor/re2/{unicode_groups.cc → re2/unicode_groups.cc} +0 -0
  148. /package/vendor/{util → re2/util}/fuzz.cc +0 -0
  149. /package/vendor/{util → re2/util}/malloc_counter.h +0 -0
  150. /package/vendor/{util → re2/util}/rune.cc +0 -0
  151. /package/vendor/{util → re2/util}/utf.h +0 -0
@@ -0,0 +1,463 @@
1
+ RE2 regular expression syntax reference
2
+ -------------------------­-------­-----
3
+
4
+ Single characters:
5
+ . any character, possibly including newline (s=true)
6
+ [xyz] character class
7
+ [^xyz] negated character class
8
+ \d Perl character class
9
+ \D negated Perl character class
10
+ [[:alpha:]] ASCII character class
11
+ [[:^alpha:]] negated ASCII character class
12
+ \pN Unicode character class (one-letter name)
13
+ \p{Greek} Unicode character class
14
+ \PN negated Unicode character class (one-letter name)
15
+ \P{Greek} negated Unicode character class
16
+
17
+ Composites:
18
+ xy «x» followed by «y»
19
+ x|y «x» or «y» (prefer «x»)
20
+
21
+ Repetitions:
22
+ x* zero or more «x», prefer more
23
+ x+ one or more «x», prefer more
24
+ x? zero or one «x», prefer one
25
+ x{n,m} «n» or «n»+1 or ... or «m» «x», prefer more
26
+ x{n,} «n» or more «x», prefer more
27
+ x{n} exactly «n» «x»
28
+ x*? zero or more «x», prefer fewer
29
+ x+? one or more «x», prefer fewer
30
+ x?? zero or one «x», prefer zero
31
+ x{n,m}? «n» or «n»+1 or ... or «m» «x», prefer fewer
32
+ x{n,}? «n» or more «x», prefer fewer
33
+ x{n}? exactly «n» «x»
34
+ x{} (== x*) NOT SUPPORTED vim
35
+ x{-} (== x*?) NOT SUPPORTED vim
36
+ x{-n} (== x{n}?) NOT SUPPORTED vim
37
+ x= (== x?) NOT SUPPORTED vim
38
+
39
+ Implementation restriction: The counting forms «x{n,m}», «x{n,}», and «x{n}»
40
+ reject forms that create a minimum or maximum repetition count above 1000.
41
+ Unlimited repetitions are not subject to this restriction.
42
+
43
+ Possessive repetitions:
44
+ x*+ zero or more «x», possessive NOT SUPPORTED
45
+ x++ one or more «x», possessive NOT SUPPORTED
46
+ x?+ zero or one «x», possessive NOT SUPPORTED
47
+ x{n,m}+ «n» or ... or «m» «x», possessive NOT SUPPORTED
48
+ x{n,}+ «n» or more «x», possessive NOT SUPPORTED
49
+ x{n}+ exactly «n» «x», possessive NOT SUPPORTED
50
+
51
+ Grouping:
52
+ (re) numbered capturing group (submatch)
53
+ (?P<name>re) named & numbered capturing group (submatch)
54
+ (?<name>re) named & numbered capturing group (submatch) NOT SUPPORTED
55
+ (?'name're) named & numbered capturing group (submatch) NOT SUPPORTED
56
+ (?:re) non-capturing group
57
+ (?flags) set flags within current group; non-capturing
58
+ (?flags:re) set flags during re; non-capturing
59
+ (?#text) comment NOT SUPPORTED
60
+ (?|x|y|z) branch numbering reset NOT SUPPORTED
61
+ (?>re) possessive match of «re» NOT SUPPORTED
62
+ re@> possessive match of «re» NOT SUPPORTED vim
63
+ %(re) non-capturing group NOT SUPPORTED vim
64
+
65
+ Flags:
66
+ i case-insensitive (default false)
67
+ m multi-line mode: «^» and «$» match begin/end line in addition to begin/end text (default false)
68
+ s let «.» match «\n» (default false)
69
+ U ungreedy: swap meaning of «x*» and «x*?», «x+» and «x+?», etc (default false)
70
+ Flag syntax is «xyz» (set) or «-xyz» (clear) or «xy-z» (set «xy», clear «z»).
71
+
72
+ Empty strings:
73
+ ^ at beginning of text or line («m»=true)
74
+ $ at end of text (like «\z» not «\Z») or line («m»=true)
75
+ \A at beginning of text
76
+ \b at ASCII word boundary («\w» on one side and «\W», «\A», or «\z» on the other)
77
+ \B not at ASCII word boundary
78
+ \G at beginning of subtext being searched NOT SUPPORTED pcre
79
+ \G at end of last match NOT SUPPORTED perl
80
+ \Z at end of text, or before newline at end of text NOT SUPPORTED
81
+ \z at end of text
82
+ (?=re) before text matching «re» NOT SUPPORTED
83
+ (?!re) before text not matching «re» NOT SUPPORTED
84
+ (?<=re) after text matching «re» NOT SUPPORTED
85
+ (?<!re) after text not matching «re» NOT SUPPORTED
86
+ re& before text matching «re» NOT SUPPORTED vim
87
+ re@= before text matching «re» NOT SUPPORTED vim
88
+ re@! before text not matching «re» NOT SUPPORTED vim
89
+ re@<= after text matching «re» NOT SUPPORTED vim
90
+ re@<! after text not matching «re» NOT SUPPORTED vim
91
+ \zs sets start of match (= \K) NOT SUPPORTED vim
92
+ \ze sets end of match NOT SUPPORTED vim
93
+ \%^ beginning of file NOT SUPPORTED vim
94
+ \%$ end of file NOT SUPPORTED vim
95
+ \%V on screen NOT SUPPORTED vim
96
+ \%# cursor position NOT SUPPORTED vim
97
+ \%'m mark «m» position NOT SUPPORTED vim
98
+ \%23l in line 23 NOT SUPPORTED vim
99
+ \%23c in column 23 NOT SUPPORTED vim
100
+ \%23v in virtual column 23 NOT SUPPORTED vim
101
+
102
+ Escape sequences:
103
+ \a bell (== \007)
104
+ \f form feed (== \014)
105
+ \t horizontal tab (== \011)
106
+ \n newline (== \012)
107
+ \r carriage return (== \015)
108
+ \v vertical tab character (== \013)
109
+ \* literal «*», for any punctuation character «*»
110
+ \123 octal character code (up to three digits)
111
+ \x7F hex character code (exactly two digits)
112
+ \x{10FFFF} hex character code
113
+ \C match a single byte even in UTF-8 mode
114
+ \Q...\E literal text «...» even if «...» has punctuation
115
+
116
+ \1 backreference NOT SUPPORTED
117
+ \b backspace NOT SUPPORTED (use «\010»)
118
+ \cK control char ^K NOT SUPPORTED (use «\001» etc)
119
+ \e escape NOT SUPPORTED (use «\033»)
120
+ \g1 backreference NOT SUPPORTED
121
+ \g{1} backreference NOT SUPPORTED
122
+ \g{+1} backreference NOT SUPPORTED
123
+ \g{-1} backreference NOT SUPPORTED
124
+ \g{name} named backreference NOT SUPPORTED
125
+ \g<name> subroutine call NOT SUPPORTED
126
+ \g'name' subroutine call NOT SUPPORTED
127
+ \k<name> named backreference NOT SUPPORTED
128
+ \k'name' named backreference NOT SUPPORTED
129
+ \lX lowercase «X» NOT SUPPORTED
130
+ \ux uppercase «x» NOT SUPPORTED
131
+ \L...\E lowercase text «...» NOT SUPPORTED
132
+ \K reset beginning of «$0» NOT SUPPORTED
133
+ \N{name} named Unicode character NOT SUPPORTED
134
+ \R line break NOT SUPPORTED
135
+ \U...\E upper case text «...» NOT SUPPORTED
136
+ \X extended Unicode sequence NOT SUPPORTED
137
+
138
+ \%d123 decimal character 123 NOT SUPPORTED vim
139
+ \%xFF hex character FF NOT SUPPORTED vim
140
+ \%o123 octal character 123 NOT SUPPORTED vim
141
+ \%u1234 Unicode character 0x1234 NOT SUPPORTED vim
142
+ \%U12345678 Unicode character 0x12345678 NOT SUPPORTED vim
143
+
144
+ Character class elements:
145
+ x single character
146
+ A-Z character range (inclusive)
147
+ \d Perl character class
148
+ [:foo:] ASCII character class «foo»
149
+ \p{Foo} Unicode character class «Foo»
150
+ \pF Unicode character class «F» (one-letter name)
151
+
152
+ Named character classes as character class elements:
153
+ [\d] digits (== \d)
154
+ [^\d] not digits (== \D)
155
+ [\D] not digits (== \D)
156
+ [^\D] not not digits (== \d)
157
+ [[:name:]] named ASCII class inside character class (== [:name:])
158
+ [^[:name:]] named ASCII class inside negated character class (== [:^name:])
159
+ [\p{Name}] named Unicode property inside character class (== \p{Name})
160
+ [^\p{Name}] named Unicode property inside negated character class (== \P{Name})
161
+
162
+ Perl character classes (all ASCII-only):
163
+ \d digits (== [0-9])
164
+ \D not digits (== [^0-9])
165
+ \s whitespace (== [\t\n\f\r ])
166
+ \S not whitespace (== [^\t\n\f\r ])
167
+ \w word characters (== [0-9A-Za-z_])
168
+ \W not word characters (== [^0-9A-Za-z_])
169
+
170
+ \h horizontal space NOT SUPPORTED
171
+ \H not horizontal space NOT SUPPORTED
172
+ \v vertical space NOT SUPPORTED
173
+ \V not vertical space NOT SUPPORTED
174
+
175
+ ASCII character classes:
176
+ [[:alnum:]] alphanumeric (== [0-9A-Za-z])
177
+ [[:alpha:]] alphabetic (== [A-Za-z])
178
+ [[:ascii:]] ASCII (== [\x00-\x7F])
179
+ [[:blank:]] blank (== [\t ])
180
+ [[:cntrl:]] control (== [\x00-\x1F\x7F])
181
+ [[:digit:]] digits (== [0-9])
182
+ [[:graph:]] graphical (== [!-~] == [A-Za-z0-9!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])
183
+ [[:lower:]] lower case (== [a-z])
184
+ [[:print:]] printable (== [ -~] == [ [:graph:]])
185
+ [[:punct:]] punctuation (== [!-/:-@[-`{-~])
186
+ [[:space:]] whitespace (== [\t\n\v\f\r ])
187
+ [[:upper:]] upper case (== [A-Z])
188
+ [[:word:]] word characters (== [0-9A-Za-z_])
189
+ [[:xdigit:]] hex digit (== [0-9A-Fa-f])
190
+
191
+ Unicode character class names--general category:
192
+ C other
193
+ Cc control
194
+ Cf format
195
+ Cn unassigned code points NOT SUPPORTED
196
+ Co private use
197
+ Cs surrogate
198
+ L letter
199
+ LC cased letter NOT SUPPORTED
200
+ L& cased letter NOT SUPPORTED
201
+ Ll lowercase letter
202
+ Lm modifier letter
203
+ Lo other letter
204
+ Lt titlecase letter
205
+ Lu uppercase letter
206
+ M mark
207
+ Mc spacing mark
208
+ Me enclosing mark
209
+ Mn non-spacing mark
210
+ N number
211
+ Nd decimal number
212
+ Nl letter number
213
+ No other number
214
+ P punctuation
215
+ Pc connector punctuation
216
+ Pd dash punctuation
217
+ Pe close punctuation
218
+ Pf final punctuation
219
+ Pi initial punctuation
220
+ Po other punctuation
221
+ Ps open punctuation
222
+ S symbol
223
+ Sc currency symbol
224
+ Sk modifier symbol
225
+ Sm math symbol
226
+ So other symbol
227
+ Z separator
228
+ Zl line separator
229
+ Zp paragraph separator
230
+ Zs space separator
231
+
232
+ Unicode character class names--scripts:
233
+ Adlam
234
+ Ahom
235
+ Anatolian_Hieroglyphs
236
+ Arabic
237
+ Armenian
238
+ Avestan
239
+ Balinese
240
+ Bamum
241
+ Bassa_Vah
242
+ Batak
243
+ Bengali
244
+ Bhaiksuki
245
+ Bopomofo
246
+ Brahmi
247
+ Braille
248
+ Buginese
249
+ Buhid
250
+ Canadian_Aboriginal
251
+ Carian
252
+ Caucasian_Albanian
253
+ Chakma
254
+ Cham
255
+ Cherokee
256
+ Chorasmian
257
+ Common
258
+ Coptic
259
+ Cuneiform
260
+ Cypriot
261
+ Cypro_Minoan
262
+ Cyrillic
263
+ Deseret
264
+ Devanagari
265
+ Dives_Akuru
266
+ Dogra
267
+ Duployan
268
+ Egyptian_Hieroglyphs
269
+ Elbasan
270
+ Elymaic
271
+ Ethiopic
272
+ Georgian
273
+ Glagolitic
274
+ Gothic
275
+ Grantha
276
+ Greek
277
+ Gujarati
278
+ Gunjala_Gondi
279
+ Gurmukhi
280
+ Han
281
+ Hangul
282
+ Hanifi_Rohingya
283
+ Hanunoo
284
+ Hatran
285
+ Hebrew
286
+ Hiragana
287
+ Imperial_Aramaic
288
+ Inherited
289
+ Inscriptional_Pahlavi
290
+ Inscriptional_Parthian
291
+ Javanese
292
+ Kaithi
293
+ Kannada
294
+ Katakana
295
+ Kawi
296
+ Kayah_Li
297
+ Kharoshthi
298
+ Khitan_Small_Script
299
+ Khmer
300
+ Khojki
301
+ Khudawadi
302
+ Lao
303
+ Latin
304
+ Lepcha
305
+ Limbu
306
+ Linear_A
307
+ Linear_B
308
+ Lisu
309
+ Lycian
310
+ Lydian
311
+ Mahajani
312
+ Makasar
313
+ Malayalam
314
+ Mandaic
315
+ Manichaean
316
+ Marchen
317
+ Masaram_Gondi
318
+ Medefaidrin
319
+ Meetei_Mayek
320
+ Mende_Kikakui
321
+ Meroitic_Cursive
322
+ Meroitic_Hieroglyphs
323
+ Miao
324
+ Modi
325
+ Mongolian
326
+ Mro
327
+ Multani
328
+ Myanmar
329
+ Nabataean
330
+ Nag_Mundari
331
+ Nandinagari
332
+ New_Tai_Lue
333
+ Newa
334
+ Nko
335
+ Nushu
336
+ Nyiakeng_Puachue_Hmong
337
+ Ogham
338
+ Ol_Chiki
339
+ Old_Hungarian
340
+ Old_Italic
341
+ Old_North_Arabian
342
+ Old_Permic
343
+ Old_Persian
344
+ Old_Sogdian
345
+ Old_South_Arabian
346
+ Old_Turkic
347
+ Old_Uyghur
348
+ Oriya
349
+ Osage
350
+ Osmanya
351
+ Pahawh_Hmong
352
+ Palmyrene
353
+ Pau_Cin_Hau
354
+ Phags_Pa
355
+ Phoenician
356
+ Psalter_Pahlavi
357
+ Rejang
358
+ Runic
359
+ Samaritan
360
+ Saurashtra
361
+ Sharada
362
+ Shavian
363
+ Siddham
364
+ SignWriting
365
+ Sinhala
366
+ Sogdian
367
+ Sora_Sompeng
368
+ Soyombo
369
+ Sundanese
370
+ Syloti_Nagri
371
+ Syriac
372
+ Tagalog
373
+ Tagbanwa
374
+ Tai_Le
375
+ Tai_Tham
376
+ Tai_Viet
377
+ Takri
378
+ Tamil
379
+ Tangsa
380
+ Tangut
381
+ Telugu
382
+ Thaana
383
+ Thai
384
+ Tibetan
385
+ Tifinagh
386
+ Tirhuta
387
+ Toto
388
+ Ugaritic
389
+ Vai
390
+ Vithkuqi
391
+ Wancho
392
+ Warang_Citi
393
+ Yezidi
394
+ Yi
395
+ Zanabazar_Square
396
+
397
+ Vim character classes:
398
+ \i identifier character NOT SUPPORTED vim
399
+ \I «\i» except digits NOT SUPPORTED vim
400
+ \k keyword character NOT SUPPORTED vim
401
+ \K «\k» except digits NOT SUPPORTED vim
402
+ \f file name character NOT SUPPORTED vim
403
+ \F «\f» except digits NOT SUPPORTED vim
404
+ \p printable character NOT SUPPORTED vim
405
+ \P «\p» except digits NOT SUPPORTED vim
406
+ \s whitespace character (== [ \t]) NOT SUPPORTED vim
407
+ \S non-white space character (== [^ \t]) NOT SUPPORTED vim
408
+ \d digits (== [0-9]) vim
409
+ \D not «\d» vim
410
+ \x hex digits (== [0-9A-Fa-f]) NOT SUPPORTED vim
411
+ \X not «\x» NOT SUPPORTED vim
412
+ \o octal digits (== [0-7]) NOT SUPPORTED vim
413
+ \O not «\o» NOT SUPPORTED vim
414
+ \w word character vim
415
+ \W not «\w» vim
416
+ \h head of word character NOT SUPPORTED vim
417
+ \H not «\h» NOT SUPPORTED vim
418
+ \a alphabetic NOT SUPPORTED vim
419
+ \A not «\a» NOT SUPPORTED vim
420
+ \l lowercase NOT SUPPORTED vim
421
+ \L not lowercase NOT SUPPORTED vim
422
+ \u uppercase NOT SUPPORTED vim
423
+ \U not uppercase NOT SUPPORTED vim
424
+ \_x «\x» plus newline, for any «x» NOT SUPPORTED vim
425
+
426
+ Vim flags:
427
+ \c ignore case NOT SUPPORTED vim
428
+ \C match case NOT SUPPORTED vim
429
+ \m magic NOT SUPPORTED vim
430
+ \M nomagic NOT SUPPORTED vim
431
+ \v verymagic NOT SUPPORTED vim
432
+ \V verynomagic NOT SUPPORTED vim
433
+ \Z ignore differences in Unicode combining characters NOT SUPPORTED vim
434
+
435
+ Magic:
436
+ (?{code}) arbitrary Perl code NOT SUPPORTED perl
437
+ (??{code}) postponed arbitrary Perl code NOT SUPPORTED perl
438
+ (?n) recursive call to regexp capturing group «n» NOT SUPPORTED
439
+ (?+n) recursive call to relative group «+n» NOT SUPPORTED
440
+ (?-n) recursive call to relative group «-n» NOT SUPPORTED
441
+ (?C) PCRE callout NOT SUPPORTED pcre
442
+ (?R) recursive call to entire regexp (== (?0)) NOT SUPPORTED
443
+ (?&name) recursive call to named group NOT SUPPORTED
444
+ (?P=name) named backreference NOT SUPPORTED
445
+ (?P>name) recursive call to named group NOT SUPPORTED
446
+ (?(cond)true|false) conditional branch NOT SUPPORTED
447
+ (?(cond)true) conditional branch NOT SUPPORTED
448
+ (*ACCEPT) make regexps more like Prolog NOT SUPPORTED
449
+ (*COMMIT) NOT SUPPORTED
450
+ (*F) NOT SUPPORTED
451
+ (*FAIL) NOT SUPPORTED
452
+ (*MARK) NOT SUPPORTED
453
+ (*PRUNE) NOT SUPPORTED
454
+ (*SKIP) NOT SUPPORTED
455
+ (*THEN) NOT SUPPORTED
456
+ (*ANY) set newline convention NOT SUPPORTED
457
+ (*ANYCRLF) NOT SUPPORTED
458
+ (*CR) NOT SUPPORTED
459
+ (*CRLF) NOT SUPPORTED
460
+ (*LF) NOT SUPPORTED
461
+ (*BSR_ANYCRLF) set \R convention NOT SUPPORTED pcre
462
+ (*BSR_UNICODE) NOT SUPPORTED pcre
463
+
@@ -0,0 +1,104 @@
1
+ #!/bin/sh
2
+ # From Gerrit Code Review 2.2.1
3
+ #
4
+ # Part of Gerrit Code Review (http://code.google.com/p/gerrit/)
5
+ #
6
+ # Copyright (C) 2009 The Android Open Source Project
7
+ #
8
+ # Licensed under the Apache License, Version 2.0 (the "License");
9
+ # you may not use this file except in compliance with the License.
10
+ # You may obtain a copy of the License at
11
+ #
12
+ # http://www.apache.org/licenses/LICENSE-2.0
13
+ #
14
+ # Unless required by applicable law or agreed to in writing, software
15
+ # distributed under the License is distributed on an "AS IS" BASIS,
16
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+ #
20
+
21
+ CHANGE_ID_AFTER="Bug|Issue"
22
+ MSG="$1"
23
+
24
+ # Check for, and add if missing, a unique Change-Id
25
+ #
26
+ add_ChangeId() {
27
+ clean_message=`sed -e '
28
+ /^diff --git a\/.*/{
29
+ s///
30
+ q
31
+ }
32
+ /^Signed-off-by:/d
33
+ /^#/d
34
+ ' "$MSG" | git stripspace`
35
+ if test -z "$clean_message"
36
+ then
37
+ return
38
+ fi
39
+
40
+ if grep -i '^Change-Id:' "$MSG" >/dev/null
41
+ then
42
+ return
43
+ fi
44
+
45
+ id=`_gen_ChangeId`
46
+ perl -e '
47
+ $MSG = shift;
48
+ $id = shift;
49
+ $CHANGE_ID_AFTER = shift;
50
+
51
+ undef $/;
52
+ open(I, $MSG); $_ = <I>; close I;
53
+ s|^diff --git a/.*||ms;
54
+ s|^#.*$||mg;
55
+ exit unless $_;
56
+
57
+ @message = split /\n/;
58
+ $haveFooter = 0;
59
+ $startFooter = @message;
60
+ for($line = @message - 1; $line >= 0; $line--) {
61
+ $_ = $message[$line];
62
+
63
+ if (/^[a-zA-Z0-9-]+:/ && !m,^[a-z0-9-]+://,) {
64
+ $haveFooter++;
65
+ next;
66
+ }
67
+ next if /^[ []/;
68
+ $startFooter = $line if ($haveFooter && /^\r?$/);
69
+ last;
70
+ }
71
+
72
+ @footer = @message[$startFooter+1..@message];
73
+ @message = @message[0..$startFooter];
74
+ push(@footer, "") unless @footer;
75
+
76
+ for ($line = 0; $line < @footer; $line++) {
77
+ $_ = $footer[$line];
78
+ next if /^($CHANGE_ID_AFTER):/i;
79
+ last;
80
+ }
81
+ splice(@footer, $line, 0, "Change-Id: I$id");
82
+
83
+ $_ = join("\n", @message, @footer);
84
+ open(O, ">$MSG"); print O; close O;
85
+ ' "$MSG" "$id" "$CHANGE_ID_AFTER"
86
+ }
87
+ _gen_ChangeIdInput() {
88
+ echo "tree `git write-tree`"
89
+ if parent=`git rev-parse HEAD^0 2>/dev/null`
90
+ then
91
+ echo "parent $parent"
92
+ fi
93
+ echo "author `git var GIT_AUTHOR_IDENT`"
94
+ echo "committer `git var GIT_COMMITTER_IDENT`"
95
+ echo
96
+ printf '%s' "$clean_message"
97
+ }
98
+ _gen_ChangeId() {
99
+ _gen_ChangeIdInput |
100
+ git hash-object -t commit --stdin
101
+ }
102
+
103
+
104
+ add_ChangeId
@@ -0,0 +1,19 @@
1
+ {
2
+ global:
3
+ # re2::RE2*
4
+ _ZN3re23RE2*;
5
+ _ZNK3re23RE2*;
6
+ # re2::StringPiece*
7
+ _ZN3re211StringPiece*;
8
+ _ZNK3re211StringPiece*;
9
+ # re2::operator<<*
10
+ _ZN3re2ls*;
11
+ # re2::FilteredRE2*
12
+ _ZN3re211FilteredRE2*;
13
+ _ZNK3re211FilteredRE2*;
14
+ # re2::re2_internal*
15
+ _ZN3re212re2_internal*;
16
+ _ZNK3re212re2_internal*;
17
+ local:
18
+ *;
19
+ };
@@ -0,0 +1,15 @@
1
+ # Linker doesn't like these unmangled:
2
+ # re2::RE2*
3
+ __ZN3re23RE2*
4
+ __ZNK3re23RE2*
5
+ # re2::StringPiece*
6
+ __ZN3re211StringPiece*
7
+ __ZNK3re211StringPiece*
8
+ # re2::operator<<*
9
+ __ZN3re2ls*
10
+ # re2::FilteredRE2*
11
+ __ZN3re211FilteredRE2*
12
+ __ZNK3re211FilteredRE2*
13
+ # re2::re2_internal*
14
+ __ZN3re212re2_internal*
15
+ __ZNK3re212re2_internal*
@@ -0,0 +1,36 @@
1
+ # Copyright 2009 The RE2 Authors. All Rights Reserved.
2
+ # Use of this source code is governed by a BSD-style
3
+ # license that can be found in the LICENSE file.
4
+
5
+ # Bazel (http://bazel.io/) BUILD file for RE2 Python.
6
+
7
+ load("@pybind11_bazel//:build_defs.bzl", "pybind_extension")
8
+ load("@rules_python//python:defs.bzl", "py_library", "py_test")
9
+
10
+ pybind_extension(
11
+ name = "_re2",
12
+ srcs = ["_re2.cc"],
13
+ deps = [
14
+ "//:re2",
15
+ "@com_google_absl//absl/strings",
16
+ ],
17
+ )
18
+
19
+ py_library(
20
+ name = "re2",
21
+ srcs = ["re2.py"],
22
+ data = [":_re2.so"],
23
+ imports = ["."],
24
+ visibility = ["//visibility:public"],
25
+ )
26
+
27
+ py_test(
28
+ name = "re2_test",
29
+ size = "small",
30
+ srcs = ["re2_test.py"],
31
+ deps = [
32
+ ":re2",
33
+ "@io_abseil_py//absl/testing:absltest",
34
+ "@io_abseil_py//absl/testing:parameterized",
35
+ ],
36
+ )
@@ -0,0 +1 @@
1
+ Building requires Python 3 and pybind11 to be installed on your system.