esruby 0.0.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 (763) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +22 -0
  4. data/bin/esruby +34 -0
  5. data/lib/esruby.rb +26 -0
  6. data/lib/esruby/build.rb +140 -0
  7. data/lib/esruby/build/configuration.rb +77 -0
  8. data/lib/esruby/gem.rb +5 -0
  9. data/lib/esruby/gem/specification.rb +35 -0
  10. data/resources/build_config.eruby +53 -0
  11. data/resources/cpp/esruby.cpp +64 -0
  12. data/resources/cpp/esruby.hpp +42 -0
  13. data/resources/cpp/main.cpp +9 -0
  14. data/resources/js/esruby.js +45 -0
  15. data/resources/mruby/AUTHORS +40 -0
  16. data/resources/mruby/CONTRIBUTING.md +68 -0
  17. data/resources/mruby/LEGAL +6 -0
  18. data/resources/mruby/MITL +20 -0
  19. data/resources/mruby/Makefile +17 -0
  20. data/resources/mruby/NEWS +13 -0
  21. data/resources/mruby/README.md +92 -0
  22. data/resources/mruby/Rakefile +152 -0
  23. data/resources/mruby/TODO +10 -0
  24. data/resources/mruby/appveyor.yml +38 -0
  25. data/resources/mruby/appveyor_config.rb +50 -0
  26. data/resources/mruby/benchmark/bm_ao_render.rb +314 -0
  27. data/resources/mruby/benchmark/bm_app_lc_fizzbuzz.rb +52 -0
  28. data/resources/mruby/benchmark/bm_fib.rb +7 -0
  29. data/resources/mruby/benchmark/bm_so_lists.rb +47 -0
  30. data/resources/mruby/benchmark/build_config_boxing.rb +28 -0
  31. data/resources/mruby/benchmark/build_config_cc.rb +13 -0
  32. data/resources/mruby/benchmark/plot.gpl +5 -0
  33. data/resources/mruby/bin/mirb +0 -0
  34. data/resources/mruby/bin/mrbc +0 -0
  35. data/resources/mruby/bin/mruby +0 -0
  36. data/resources/mruby/bin/mruby-strip +0 -0
  37. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/README.md +82 -0
  38. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/mrbgem.rake +63 -0
  39. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/mrblib/regexp_pcre.rb +232 -0
  40. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/mrblib/string_pcre.rb +333 -0
  41. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/132html +313 -0
  42. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/AUTHORS +45 -0
  43. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/CMakeLists.txt +959 -0
  44. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/COPYING +5 -0
  45. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/ChangeLog +4981 -0
  46. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/CheckMan +67 -0
  47. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/CleanTxt +113 -0
  48. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/Detrail +35 -0
  49. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/HACKING +473 -0
  50. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/INSTALL +370 -0
  51. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/LICENCE +92 -0
  52. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/Makefile.am +877 -0
  53. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/Makefile.in +2917 -0
  54. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/NEWS +611 -0
  55. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/NON-AUTOTOOLS-BUILD +639 -0
  56. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/NON-UNIX-USE +7 -0
  57. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/PrepareRelease +253 -0
  58. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/README +935 -0
  59. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/RunGrepTest +551 -0
  60. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/RunTest +1015 -0
  61. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/RunTest.bat +616 -0
  62. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/aclocal.m4 +1230 -0
  63. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/autom4te.cache/output.0 +21280 -0
  64. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/autom4te.cache/output.1 +21280 -0
  65. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/autom4te.cache/requests +273 -0
  66. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/autom4te.cache/traces.0 +2421 -0
  67. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/autom4te.cache/traces.1 +1144 -0
  68. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/cmake/COPYING-CMAKE-SCRIPTS +22 -0
  69. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/cmake/FindEditline.cmake +17 -0
  70. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/cmake/FindPackageHandleStandardArgs.cmake +58 -0
  71. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/cmake/FindReadline.cmake +29 -0
  72. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/compile +343 -0
  73. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/config-cmake.h.in +54 -0
  74. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/config.guess +1552 -0
  75. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/config.h +392 -0
  76. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/config.h.generic +392 -0
  77. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/config.h.in +343 -0
  78. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/config.sub +1804 -0
  79. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/configure +21280 -0
  80. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/configure.ac +1082 -0
  81. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/depcomp +708 -0
  82. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/dftables.c +212 -0
  83. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/index.html +180 -0
  84. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre-config.html +109 -0
  85. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre.html +204 -0
  86. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre16.html +383 -0
  87. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_assign_jit_stack.html +76 -0
  88. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_compile.html +108 -0
  89. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_compile2.html +112 -0
  90. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_config.html +91 -0
  91. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_copy_named_substring.html +65 -0
  92. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_copy_substring.html +61 -0
  93. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_dfa_exec.html +128 -0
  94. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_exec.html +110 -0
  95. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_free_study.html +46 -0
  96. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_free_substring.html +46 -0
  97. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_free_substring_list.html +46 -0
  98. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_fullinfo.html +108 -0
  99. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_get_named_substring.html +68 -0
  100. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_get_stringnumber.html +57 -0
  101. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_get_stringtable_entries.html +60 -0
  102. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_get_substring.html +64 -0
  103. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_get_substring_list.html +61 -0
  104. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_jit_exec.html +108 -0
  105. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_jit_stack_alloc.html +55 -0
  106. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_jit_stack_free.html +48 -0
  107. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_maketables.html +48 -0
  108. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_pattern_to_host_byte_order.html +58 -0
  109. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_refcount.html +51 -0
  110. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_study.html +68 -0
  111. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_utf16_to_host_byte_order.html +57 -0
  112. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcre_version.html +46 -0
  113. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcreapi.html +2786 -0
  114. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcrebuild.html +517 -0
  115. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcrecallout.html +243 -0
  116. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcrecompat.html +216 -0
  117. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcrecpp.html +368 -0
  118. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcredemo.html +426 -0
  119. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcregrep.html +757 -0
  120. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcrejit.html +458 -0
  121. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcrelimits.html +86 -0
  122. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcrematching.html +233 -0
  123. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcrepartial.html +474 -0
  124. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcrepattern.html +2953 -0
  125. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcreperform.html +195 -0
  126. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcreposix.html +292 -0
  127. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcreprecompile.html +158 -0
  128. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcresample.html +110 -0
  129. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcrestack.html +225 -0
  130. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcresyntax.html +521 -0
  131. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcretest.html +1082 -0
  132. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/html/pcreunicode.html +270 -0
  133. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/index.html.src +180 -0
  134. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre-config.1 +92 -0
  135. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre-config.txt +86 -0
  136. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre.3 +202 -0
  137. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre.txt +9909 -0
  138. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre16.3 +390 -0
  139. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre32.3 +389 -0
  140. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_assign_jit_stack.3 +61 -0
  141. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_compile.3 +98 -0
  142. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_compile2.3 +106 -0
  143. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_config.3 +76 -0
  144. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_copy_named_substring.3 +59 -0
  145. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_copy_substring.3 +52 -0
  146. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_dfa_exec.3 +125 -0
  147. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_exec.3 +103 -0
  148. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_free_study.3 +31 -0
  149. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_free_substring.3 +31 -0
  150. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_free_substring_list.3 +31 -0
  151. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_fullinfo.3 +95 -0
  152. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_get_named_substring.3 +62 -0
  153. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_get_stringnumber.3 +45 -0
  154. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_get_stringtable_entries.3 +48 -0
  155. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_get_substring.3 +55 -0
  156. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_get_substring_list.3 +49 -0
  157. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_jit_exec.3 +104 -0
  158. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_jit_stack_alloc.3 +45 -0
  159. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_jit_stack_free.3 +35 -0
  160. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_maketables.3 +33 -0
  161. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_pattern_to_host_byte_order.3 +46 -0
  162. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_refcount.3 +36 -0
  163. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_study.3 +56 -0
  164. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_utf16_to_host_byte_order.3 +46 -0
  165. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_utf32_to_host_byte_order.3 +46 -0
  166. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcre_version.3 +31 -0
  167. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcreapi.3 +2823 -0
  168. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcrebuild.3 +520 -0
  169. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcrecallout.3 +214 -0
  170. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcrecompat.3 +185 -0
  171. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcrecpp.3 +348 -0
  172. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcregrep.1 +679 -0
  173. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcregrep.txt +740 -0
  174. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcrejit.3 +437 -0
  175. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcrelimits.3 +67 -0
  176. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcrematching.3 +206 -0
  177. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcrepartial.3 +445 -0
  178. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcrepattern.3 +2983 -0
  179. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcreperform.3 +177 -0
  180. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcreposix.3 +270 -0
  181. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcreprecompile.3 +151 -0
  182. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcresample.3 +99 -0
  183. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcrestack.3 +215 -0
  184. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcresyntax.3 +496 -0
  185. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcretest.1 +1079 -0
  186. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcretest.txt +1012 -0
  187. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/pcreunicode.3 +255 -0
  188. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/doc/perltest.txt +42 -0
  189. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/install-sh +527 -0
  190. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/libpcre.pc.in +12 -0
  191. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/libpcre16.pc.in +12 -0
  192. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/libpcre32.pc.in +12 -0
  193. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/libpcrecpp.pc.in +12 -0
  194. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/libpcreposix.pc.in +13 -0
  195. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/ltmain.sh +9636 -0
  196. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/m4/ax_pthread.m4 +309 -0
  197. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/m4/libtool.m4 +7844 -0
  198. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/m4/ltoptions.m4 +369 -0
  199. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/m4/ltsugar.m4 +123 -0
  200. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/m4/ltversion.m4 +23 -0
  201. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/m4/lt~obsolete.m4 +98 -0
  202. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/m4/pcre_visibility.m4 +89 -0
  203. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/makevp.bat +66 -0
  204. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/makevp_c.txt +20 -0
  205. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/makevp_l.txt +20 -0
  206. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/missing +331 -0
  207. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre-config.in +133 -0
  208. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre.h +653 -0
  209. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre.h.generic +653 -0
  210. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre.h.in +653 -0
  211. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_byte_order.c +45 -0
  212. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_chartables.c +45 -0
  213. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_compile.c +45 -0
  214. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_config.c +45 -0
  215. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_dfa_exec.c +45 -0
  216. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_exec.c +45 -0
  217. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_fullinfo.c +45 -0
  218. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_get.c +45 -0
  219. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_globals.c +45 -0
  220. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_jit_compile.c +45 -0
  221. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_maketables.c +45 -0
  222. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_newline.c +45 -0
  223. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_ord2utf16.c +90 -0
  224. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_printint.c +45 -0
  225. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_refcount.c +45 -0
  226. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_string_utils.c +45 -0
  227. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_study.c +45 -0
  228. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_tables.c +45 -0
  229. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_ucd.c +45 -0
  230. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_utf16_utils.c +130 -0
  231. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_valid_utf16.c +156 -0
  232. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_version.c +45 -0
  233. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre16_xclass.c +45 -0
  234. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_byte_order.c +45 -0
  235. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_chartables.c +45 -0
  236. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_compile.c +45 -0
  237. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_config.c +45 -0
  238. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_dfa_exec.c +45 -0
  239. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_exec.c +45 -0
  240. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_fullinfo.c +45 -0
  241. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_get.c +45 -0
  242. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_globals.c +45 -0
  243. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_jit_compile.c +45 -0
  244. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_maketables.c +45 -0
  245. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_newline.c +45 -0
  246. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_ord2utf32.c +82 -0
  247. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_printint.c +45 -0
  248. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_refcount.c +45 -0
  249. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_string_utils.c +45 -0
  250. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_study.c +45 -0
  251. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_tables.c +45 -0
  252. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_ucd.c +45 -0
  253. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_utf32_utils.c +141 -0
  254. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_valid_utf32.c +131 -0
  255. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_version.c +45 -0
  256. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre32_xclass.c +45 -0
  257. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_byte_order.c +318 -0
  258. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_chartables.c +198 -0
  259. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_chartables.c.dist +198 -0
  260. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_compile.c +8386 -0
  261. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_config.c +186 -0
  262. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_dfa_exec.c +3582 -0
  263. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_exec.c +7049 -0
  264. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_fullinfo.c +231 -0
  265. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_get.c +662 -0
  266. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_globals.c +84 -0
  267. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_internal.h +2744 -0
  268. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_jit_compile.c +8560 -0
  269. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_jit_test.c +1614 -0
  270. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_maketables.c +151 -0
  271. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_newline.c +210 -0
  272. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_ord2utf8.c +94 -0
  273. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_printint.c +766 -0
  274. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_refcount.c +92 -0
  275. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_scanner.cc +199 -0
  276. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_scanner.h +172 -0
  277. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_scanner_unittest.cc +159 -0
  278. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_string_utils.c +211 -0
  279. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_stringpiece.cc +43 -0
  280. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_stringpiece.h.in +179 -0
  281. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_stringpiece_unittest.cc +150 -0
  282. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_study.c +1562 -0
  283. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_tables.c +655 -0
  284. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_ucd.c +3298 -0
  285. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_valid_utf8.c +312 -0
  286. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_version.c +98 -0
  287. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcre_xclass.c +198 -0
  288. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcrecpp.cc +922 -0
  289. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcrecpp.h +710 -0
  290. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcrecpp_internal.h +71 -0
  291. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcrecpp_unittest.cc +1291 -0
  292. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcrecpparg.h.in +174 -0
  293. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcredemo.c +406 -0
  294. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcregexp.pas +845 -0
  295. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcregrep.c +3180 -0
  296. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcreposix.c +419 -0
  297. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcreposix.h +146 -0
  298. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/pcretest.c +5488 -0
  299. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/perltest.pl +237 -0
  300. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitConfig.h +110 -0
  301. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitConfigInternal.h +484 -0
  302. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitExecAllocator.c +289 -0
  303. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitLir.c +1766 -0
  304. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitLir.h +985 -0
  305. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativeARM_Thumb2.c +2008 -0
  306. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativeARM_v5.c +2515 -0
  307. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativeMIPS_32.c +404 -0
  308. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativeMIPS_common.c +1881 -0
  309. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativePPC_32.c +269 -0
  310. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativePPC_64.c +421 -0
  311. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativePPC_common.c +2014 -0
  312. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativeSPARC_32.c +164 -0
  313. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativeSPARC_common.c +1348 -0
  314. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativeX86_32.c +547 -0
  315. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativeX86_64.c +810 -0
  316. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitNativeX86_common.c +2836 -0
  317. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/sljit/sljitUtils.c +332 -0
  318. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/grepbinary +0 -0
  319. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/grepfilelist +3 -0
  320. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/grepinput +611 -0
  321. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/grepinput3 +15 -0
  322. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/grepinput8 +11 -0
  323. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/grepinputv +4 -0
  324. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/grepinputx +43 -0
  325. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/greplist +7 -0
  326. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/grepoutput +707 -0
  327. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/grepoutput8 +12 -0
  328. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/grepoutputN +16 -1
  329. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/greppatN4 +2 -0
  330. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved16 +0 -0
  331. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved16BE-1 +0 -0
  332. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved16BE-2 +0 -0
  333. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved16LE-1 +0 -0
  334. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved16LE-2 +0 -0
  335. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved32 +0 -0
  336. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved32BE-1 +0 -0
  337. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved32BE-2 +0 -0
  338. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved32LE-1 +0 -0
  339. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved32LE-2 +0 -0
  340. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/saved8 +0 -0
  341. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput1 +5306 -0
  342. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput10 +1337 -0
  343. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput11 +135 -0
  344. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput12 +89 -0
  345. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput13 +9 -0
  346. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput14 +329 -0
  347. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput15 +430 -0
  348. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput16 +35 -0
  349. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput17 +296 -0
  350. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput18 +296 -0
  351. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput19 +22 -0
  352. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput2 +3813 -0
  353. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput20 +19 -0
  354. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput21 +16 -0
  355. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput22 +13 -0
  356. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput23 +16 -0
  357. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput24 +77 -0
  358. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput25 +32 -0
  359. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput26 +80 -0
  360. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput3 +95 -0
  361. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput4 +624 -0
  362. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput5 +772 -0
  363. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput6 +1319 -0
  364. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput7 +672 -0
  365. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput8 +4801 -0
  366. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinput9 +717 -0
  367. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testinputEBC +121 -0
  368. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput1 +8798 -0
  369. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput10 +2726 -0
  370. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput11-16 +713 -0
  371. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput11-32 +713 -0
  372. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput11-8 +713 -0
  373. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput12 +181 -0
  374. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput13 +21 -0
  375. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput14 +476 -0
  376. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput15 +1269 -0
  377. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput16 +121 -0
  378. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput17 +505 -0
  379. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput18-16 +1022 -0
  380. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput18-32 +1019 -0
  381. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput19 +88 -0
  382. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput2 +12484 -0
  383. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput20 +27 -0
  384. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput21-16 +90 -0
  385. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput21-32 +90 -0
  386. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput22-16 +71 -0
  387. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput22-32 +71 -0
  388. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput23 +42 -0
  389. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput24 +145 -0
  390. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput25 +79 -0
  391. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput26 +148 -0
  392. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput3 +169 -0
  393. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput4 +1094 -0
  394. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput5 +1849 -0
  395. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput6 +2137 -0
  396. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput7 +1473 -0
  397. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput8 +8019 -0
  398. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutput9 +1371 -0
  399. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/testoutputEBC +182 -0
  400. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/wintestinput3 +91 -0
  401. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/testdata/wintestoutput3 +166 -0
  402. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/pcre/ucp.h +197 -0
  403. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/run_test.rb +23 -0
  404. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/src/mruby_regexp_pcre.c +364 -0
  405. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/test/matchdata.rb +94 -0
  406. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/test/regexp.rb +264 -0
  407. data/resources/mruby/build/mrbgems/mruby-regexp-pcre/test/string.rb +201 -0
  408. data/resources/mruby/build_config.rb +152 -0
  409. data/resources/mruby/doc/guides/compile.md +488 -0
  410. data/resources/mruby/doc/guides/debugger.md +370 -0
  411. data/resources/mruby/doc/guides/gc-arena-howto.md +177 -0
  412. data/resources/mruby/doc/guides/mrbconf.md +146 -0
  413. data/resources/mruby/doc/guides/mrbgems.md +340 -0
  414. data/resources/mruby/doc/limitations.md +187 -0
  415. data/resources/mruby/examples/mrbgems/c_and_ruby_extension_example/README.md +4 -0
  416. data/resources/mruby/examples/mrbgems/c_and_ruby_extension_example/mrbgem.rake +23 -0
  417. data/resources/mruby/examples/mrbgems/c_and_ruby_extension_example/mrblib/example.rb +5 -0
  418. data/resources/mruby/examples/mrbgems/c_and_ruby_extension_example/src/example.c +20 -0
  419. data/resources/mruby/examples/mrbgems/c_and_ruby_extension_example/test/example.rb +7 -0
  420. data/resources/mruby/examples/mrbgems/c_extension_example/README.md +4 -0
  421. data/resources/mruby/examples/mrbgems/c_extension_example/mrbgem.rake +23 -0
  422. data/resources/mruby/examples/mrbgems/c_extension_example/src/example.c +20 -0
  423. data/resources/mruby/examples/mrbgems/c_extension_example/test/example.c +7 -0
  424. data/resources/mruby/examples/mrbgems/c_extension_example/test/example.rb +3 -0
  425. data/resources/mruby/examples/mrbgems/ruby_extension_example/README.md +4 -0
  426. data/resources/mruby/examples/mrbgems/ruby_extension_example/mrbgem.rake +25 -0
  427. data/resources/mruby/examples/mrbgems/ruby_extension_example/mrblib/example.rb +5 -0
  428. data/resources/mruby/examples/mrbgems/ruby_extension_example/test/example.rb +3 -0
  429. data/resources/mruby/examples/targets/build_config_ArduinoDue.rb +90 -0
  430. data/resources/mruby/examples/targets/build_config_IntelEdison.rb +69 -0
  431. data/resources/mruby/examples/targets/build_config_IntelGalileo.rb +106 -0
  432. data/resources/mruby/examples/targets/build_config_RX630.rb +81 -0
  433. data/resources/mruby/examples/targets/build_config_android_arm64-v8a.rb +26 -0
  434. data/resources/mruby/examples/targets/build_config_android_armeabi.rb +26 -0
  435. data/resources/mruby/examples/targets/build_config_android_armeabi_v7a_neon_hard.rb +28 -0
  436. data/resources/mruby/examples/targets/build_config_chipKITMax32.rb +86 -0
  437. data/resources/mruby/include/mrbconf.h +145 -0
  438. data/resources/mruby/include/mruby.h +1280 -0
  439. data/resources/mruby/include/mruby/array.h +279 -0
  440. data/resources/mruby/include/mruby/boxing_nan.h +102 -0
  441. data/resources/mruby/include/mruby/boxing_no.h +56 -0
  442. data/resources/mruby/include/mruby/boxing_word.h +136 -0
  443. data/resources/mruby/include/mruby/class.h +94 -0
  444. data/resources/mruby/include/mruby/common.h +72 -0
  445. data/resources/mruby/include/mruby/compile.h +194 -0
  446. data/resources/mruby/include/mruby/data.h +75 -0
  447. data/resources/mruby/include/mruby/debug.h +66 -0
  448. data/resources/mruby/include/mruby/dump.h +196 -0
  449. data/resources/mruby/include/mruby/error.h +75 -0
  450. data/resources/mruby/include/mruby/gc.h +91 -0
  451. data/resources/mruby/include/mruby/hash.h +182 -0
  452. data/resources/mruby/include/mruby/irep.h +62 -0
  453. data/resources/mruby/include/mruby/istruct.h +47 -0
  454. data/resources/mruby/include/mruby/khash.h +274 -0
  455. data/resources/mruby/include/mruby/numeric.h +161 -0
  456. data/resources/mruby/include/mruby/object.h +45 -0
  457. data/resources/mruby/include/mruby/opcode.h +161 -0
  458. data/resources/mruby/include/mruby/proc.h +131 -0
  459. data/resources/mruby/include/mruby/range.h +49 -0
  460. data/resources/mruby/include/mruby/re.h +16 -0
  461. data/resources/mruby/include/mruby/string.h +440 -0
  462. data/resources/mruby/include/mruby/throw.h +55 -0
  463. data/resources/mruby/include/mruby/value.h +309 -0
  464. data/resources/mruby/include/mruby/variable.h +138 -0
  465. data/resources/mruby/include/mruby/version.h +110 -0
  466. data/resources/mruby/lib/mruby-core-ext.rb +79 -0
  467. data/resources/mruby/lib/mruby/build.rb +355 -0
  468. data/resources/mruby/lib/mruby/build/command.rb +324 -0
  469. data/resources/mruby/lib/mruby/build/load_gems.rb +122 -0
  470. data/resources/mruby/lib/mruby/gem.rb +459 -0
  471. data/resources/mruby/lib/mruby/source.rb +30 -0
  472. data/resources/mruby/minirake +484 -0
  473. data/resources/mruby/mrbgems/default.gembox +82 -0
  474. data/resources/mruby/mrbgems/full-core.gembox +9 -0
  475. data/resources/mruby/mrbgems/mruby-array-ext/mrbgem.rake +6 -0
  476. data/resources/mruby/mrbgems/mruby-array-ext/mrblib/array.rb +935 -0
  477. data/resources/mruby/mrbgems/mruby-array-ext/src/array.c +246 -0
  478. data/resources/mruby/mrbgems/mruby-array-ext/test/array.rb +422 -0
  479. data/resources/mruby/mrbgems/mruby-bin-debugger/bintest/mrdb.rb +286 -0
  480. data/resources/mruby/mrbgems/mruby-bin-debugger/bintest/print.rb +701 -0
  481. data/resources/mruby/mrbgems/mruby-bin-debugger/mrbgem.rake +9 -0
  482. data/resources/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c +505 -0
  483. data/resources/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.h +26 -0
  484. data/resources/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apilist.c +240 -0
  485. data/resources/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apilist.h +14 -0
  486. data/resources/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c +78 -0
  487. data/resources/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.h +13 -0
  488. data/resources/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdbreak.c +436 -0
  489. data/resources/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdmisc.c +502 -0
  490. data/resources/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c +58 -0
  491. data/resources/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdrun.c +64 -0
  492. data/resources/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +759 -0
  493. data/resources/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.h +165 -0
  494. data/resources/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdbconf.h +16 -0
  495. data/resources/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdberror.h +20 -0
  496. data/resources/mruby/mrbgems/mruby-bin-mirb/bintest/mirb.rb +12 -0
  497. data/resources/mruby/mrbgems/mruby-bin-mirb/mrbgem.rake +33 -0
  498. data/resources/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +611 -0
  499. data/resources/mruby/mrbgems/mruby-bin-mrbc/mrbgem.rake +16 -0
  500. data/resources/mruby/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c +336 -0
  501. data/resources/mruby/mrbgems/mruby-bin-mruby-config/mrbgem.rake +30 -0
  502. data/resources/mruby/mrbgems/mruby-bin-mruby-config/mruby-config +20 -0
  503. data/resources/mruby/mrbgems/mruby-bin-mruby-config/mruby-config.bat +42 -0
  504. data/resources/mruby/mrbgems/mruby-bin-mruby/bintest/mruby.rb +60 -0
  505. data/resources/mruby/mrbgems/mruby-bin-mruby/mrbgem.rake +12 -0
  506. data/resources/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +254 -0
  507. data/resources/mruby/mrbgems/mruby-bin-strip/bintest/mruby-strip.rb +73 -0
  508. data/resources/mruby/mrbgems/mruby-bin-strip/mrbgem.rake +6 -0
  509. data/resources/mruby/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c +155 -0
  510. data/resources/mruby/mrbgems/mruby-class-ext/mrbgem.rake +5 -0
  511. data/resources/mruby/mrbgems/mruby-class-ext/src/class.c +68 -0
  512. data/resources/mruby/mrbgems/mruby-class-ext/test/module.rb +55 -0
  513. data/resources/mruby/mrbgems/mruby-compar-ext/mrbgem.rake +5 -0
  514. data/resources/mruby/mrbgems/mruby-compar-ext/mrblib/compar.rb +31 -0
  515. data/resources/mruby/mrbgems/mruby-compiler/bintest/mrbc.rb +30 -0
  516. data/resources/mruby/mrbgems/mruby-compiler/core/codegen.c +3083 -0
  517. data/resources/mruby/mrbgems/mruby-compiler/core/keywords +50 -0
  518. data/resources/mruby/mrbgems/mruby-compiler/core/lex.def +211 -0
  519. data/resources/mruby/mrbgems/mruby-compiler/core/node.h +118 -0
  520. data/resources/mruby/mrbgems/mruby-compiler/core/parse.y +6661 -0
  521. data/resources/mruby/mrbgems/mruby-compiler/mrbgem.rake +40 -0
  522. data/resources/mruby/mrbgems/mruby-enum-ext/mrbgem.rake +5 -0
  523. data/resources/mruby/mrbgems/mruby-enum-ext/mrblib/enum.rb +813 -0
  524. data/resources/mruby/mrbgems/mruby-enum-ext/test/enum.rb +185 -0
  525. data/resources/mruby/mrbgems/mruby-enum-lazy/mrbgem.rake +7 -0
  526. data/resources/mruby/mrbgems/mruby-enum-lazy/mrblib/lazy.rb +178 -0
  527. data/resources/mruby/mrbgems/mruby-enum-lazy/test/lazy.rb +53 -0
  528. data/resources/mruby/mrbgems/mruby-enumerator/mrbgem.rake +7 -0
  529. data/resources/mruby/mrbgems/mruby-enumerator/mrblib/enumerator.rb +645 -0
  530. data/resources/mruby/mrbgems/mruby-enumerator/test/enumerator.rb +546 -0
  531. data/resources/mruby/mrbgems/mruby-error/mrbgem.rake +10 -0
  532. data/resources/mruby/mrbgems/mruby-error/src/exception.c +100 -0
  533. data/resources/mruby/mrbgems/mruby-error/test/exception.c +59 -0
  534. data/resources/mruby/mrbgems/mruby-error/test/exception.rb +55 -0
  535. data/resources/mruby/mrbgems/mruby-eval/mrbgem.rake +7 -0
  536. data/resources/mruby/mrbgems/mruby-eval/src/eval.c +346 -0
  537. data/resources/mruby/mrbgems/mruby-eval/test/eval.rb +101 -0
  538. data/resources/mruby/mrbgems/mruby-exit/mrbgem.rake +5 -0
  539. data/resources/mruby/mrbgems/mruby-exit/src/mruby-exit.c +24 -0
  540. data/resources/mruby/mrbgems/mruby-fiber/mrbgem.rake +5 -0
  541. data/resources/mruby/mrbgems/mruby-fiber/src/fiber.c +420 -0
  542. data/resources/mruby/mrbgems/mruby-fiber/test/fiber.rb +208 -0
  543. data/resources/mruby/mrbgems/mruby-hash-ext/mrbgem.rake +8 -0
  544. data/resources/mruby/mrbgems/mruby-hash-ext/mrblib/hash.rb +502 -0
  545. data/resources/mruby/mrbgems/mruby-hash-ext/src/hash-ext.c +128 -0
  546. data/resources/mruby/mrbgems/mruby-hash-ext/test/hash.rb +300 -0
  547. data/resources/mruby/mrbgems/mruby-inline-struct/mrbgem.rake +5 -0
  548. data/resources/mruby/mrbgems/mruby-inline-struct/test/inline.c +83 -0
  549. data/resources/mruby/mrbgems/mruby-inline-struct/test/inline.rb +151 -0
  550. data/resources/mruby/mrbgems/mruby-io/README.md +193 -0
  551. data/resources/mruby/mrbgems/mruby-io/include/mruby/ext/io.h +38 -0
  552. data/resources/mruby/mrbgems/mruby-io/mrbgem.rake +17 -0
  553. data/resources/mruby/mrbgems/mruby-io/mrblib/file.rb +208 -0
  554. data/resources/mruby/mrbgems/mruby-io/mrblib/file_constants.rb +29 -0
  555. data/resources/mruby/mrbgems/mruby-io/mrblib/io.rb +387 -0
  556. data/resources/mruby/mrbgems/mruby-io/mrblib/kernel.rb +15 -0
  557. data/resources/mruby/mrbgems/mruby-io/run_test.rb +26 -0
  558. data/resources/mruby/mrbgems/mruby-io/src/file.c +489 -0
  559. data/resources/mruby/mrbgems/mruby-io/src/file_test.c +381 -0
  560. data/resources/mruby/mrbgems/mruby-io/src/io.c +1320 -0
  561. data/resources/mruby/mrbgems/mruby-io/src/mruby_io_gem.c +20 -0
  562. data/resources/mruby/mrbgems/mruby-io/test/file.rb +197 -0
  563. data/resources/mruby/mrbgems/mruby-io/test/file_test.rb +117 -0
  564. data/resources/mruby/mrbgems/mruby-io/test/gc_filedes.sh +4 -0
  565. data/resources/mruby/mrbgems/mruby-io/test/io.rb +642 -0
  566. data/resources/mruby/mrbgems/mruby-io/test/mruby_io_test.c +256 -0
  567. data/resources/mruby/mrbgems/mruby-kernel-ext/mrbgem.rake +5 -0
  568. data/resources/mruby/mrbgems/mruby-kernel-ext/mrblib/kernel.rb +13 -0
  569. data/resources/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +264 -0
  570. data/resources/mruby/mrbgems/mruby-kernel-ext/test/kernel.rb +86 -0
  571. data/resources/mruby/mrbgems/mruby-math/mrbgem.rake +5 -0
  572. data/resources/mruby/mrbgems/mruby-math/src/math.c +783 -0
  573. data/resources/mruby/mrbgems/mruby-math/test/math.rb +152 -0
  574. data/resources/mruby/mrbgems/mruby-method/README.md +59 -0
  575. data/resources/mruby/mrbgems/mruby-method/mrbgem.rake +7 -0
  576. data/resources/mruby/mrbgems/mruby-method/mrblib/kernel.rb +9 -0
  577. data/resources/mruby/mrbgems/mruby-method/mrblib/method.rb +20 -0
  578. data/resources/mruby/mrbgems/mruby-method/mrblib/unbound_method.rb +9 -0
  579. data/resources/mruby/mrbgems/mruby-method/src/method.c +418 -0
  580. data/resources/mruby/mrbgems/mruby-method/test/method.rb +425 -0
  581. data/resources/mruby/mrbgems/mruby-numeric-ext/mrbgem.rake +5 -0
  582. data/resources/mruby/mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb +25 -0
  583. data/resources/mruby/mrbgems/mruby-numeric-ext/src/numeric_ext.c +102 -0
  584. data/resources/mruby/mrbgems/mruby-numeric-ext/test/numeric.rb +28 -0
  585. data/resources/mruby/mrbgems/mruby-object-ext/mrbgem.rake +5 -0
  586. data/resources/mruby/mrbgems/mruby-object-ext/mrblib/object.rb +19 -0
  587. data/resources/mruby/mrbgems/mruby-object-ext/src/object.c +112 -0
  588. data/resources/mruby/mrbgems/mruby-object-ext/test/nil.rb +11 -0
  589. data/resources/mruby/mrbgems/mruby-object-ext/test/object.rb +53 -0
  590. data/resources/mruby/mrbgems/mruby-objectspace/mrbgem.rake +5 -0
  591. data/resources/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +187 -0
  592. data/resources/mruby/mrbgems/mruby-objectspace/test/objectspace.rb +60 -0
  593. data/resources/mruby/mrbgems/mruby-pack/README.md +70 -0
  594. data/resources/mruby/mrbgems/mruby-pack/mrbgem.rake +7 -0
  595. data/resources/mruby/mrbgems/mruby-pack/packtest.rb +157 -0
  596. data/resources/mruby/mrbgems/mruby-pack/run_test.rb +26 -0
  597. data/resources/mruby/mrbgems/mruby-pack/src/pack.c +1281 -0
  598. data/resources/mruby/mrbgems/mruby-pack/test/pack.rb +165 -0
  599. data/resources/mruby/mrbgems/mruby-print/mrbgem.rake +5 -0
  600. data/resources/mruby/mrbgems/mruby-print/mrblib/print.rb +64 -0
  601. data/resources/mruby/mrbgems/mruby-print/src/print.c +64 -0
  602. data/resources/mruby/mrbgems/mruby-proc-ext/mrbgem.rake +5 -0
  603. data/resources/mruby/mrbgems/mruby-proc-ext/mrblib/proc.rb +42 -0
  604. data/resources/mruby/mrbgems/mruby-proc-ext/src/proc.c +173 -0
  605. data/resources/mruby/mrbgems/mruby-proc-ext/test/proc.c +62 -0
  606. data/resources/mruby/mrbgems/mruby-proc-ext/test/proc.rb +96 -0
  607. data/resources/mruby/mrbgems/mruby-random/mrbgem.rake +5 -0
  608. data/resources/mruby/mrbgems/mruby-random/src/mt19937ar.c +224 -0
  609. data/resources/mruby/mrbgems/mruby-random/src/mt19937ar.h +80 -0
  610. data/resources/mruby/mrbgems/mruby-random/src/random.c +349 -0
  611. data/resources/mruby/mrbgems/mruby-random/src/random.h +12 -0
  612. data/resources/mruby/mrbgems/mruby-random/test/random.rb +88 -0
  613. data/resources/mruby/mrbgems/mruby-range-ext/mrbgem.rake +5 -0
  614. data/resources/mruby/mrbgems/mruby-range-ext/mrblib/range.rb +31 -0
  615. data/resources/mruby/mrbgems/mruby-range-ext/src/range.c +176 -0
  616. data/resources/mruby/mrbgems/mruby-range-ext/test/range.rb +32 -0
  617. data/resources/mruby/mrbgems/mruby-socket/README.md +55 -0
  618. data/resources/mruby/mrbgems/mruby-socket/mrbgem.rake +17 -0
  619. data/resources/mruby/mrbgems/mruby-socket/mrblib/socket.rb +621 -0
  620. data/resources/mruby/mrbgems/mruby-socket/run_test.rb +28 -0
  621. data/resources/mruby/mrbgems/mruby-socket/src/const.cstub +453 -0
  622. data/resources/mruby/mrbgems/mruby-socket/src/const.def +163 -0
  623. data/resources/mruby/mrbgems/mruby-socket/src/gen.rb +17 -0
  624. data/resources/mruby/mrbgems/mruby-socket/src/socket.c +928 -0
  625. data/resources/mruby/mrbgems/mruby-socket/test/addrinfo.rb +91 -0
  626. data/resources/mruby/mrbgems/mruby-socket/test/basicsocket.rb +17 -0
  627. data/resources/mruby/mrbgems/mruby-socket/test/ipsocket.rb +44 -0
  628. data/resources/mruby/mrbgems/mruby-socket/test/socket.rb +38 -0
  629. data/resources/mruby/mrbgems/mruby-socket/test/sockettest.c +46 -0
  630. data/resources/mruby/mrbgems/mruby-socket/test/tcpsocket.rb +4 -0
  631. data/resources/mruby/mrbgems/mruby-socket/test/udpsocket.rb +16 -0
  632. data/resources/mruby/mrbgems/mruby-socket/test/unix.rb +130 -0
  633. data/resources/mruby/mrbgems/mruby-sprintf/mrbgem.rake +5 -0
  634. data/resources/mruby/mrbgems/mruby-sprintf/mrblib/string.rb +9 -0
  635. data/resources/mruby/mrbgems/mruby-sprintf/src/kernel.c +30 -0
  636. data/resources/mruby/mrbgems/mruby-sprintf/src/sprintf.c +1126 -0
  637. data/resources/mruby/mrbgems/mruby-sprintf/test/sprintf.rb +110 -0
  638. data/resources/mruby/mrbgems/mruby-string-ext/mrbgem.rake +6 -0
  639. data/resources/mruby/mrbgems/mruby-string-ext/mrblib/string.rb +368 -0
  640. data/resources/mruby/mrbgems/mruby-string-ext/src/string.c +804 -0
  641. data/resources/mruby/mrbgems/mruby-string-ext/test/string.rb +682 -0
  642. data/resources/mruby/mrbgems/mruby-struct/mrbgem.rake +5 -0
  643. data/resources/mruby/mrbgems/mruby-struct/mrblib/struct.rb +103 -0
  644. data/resources/mruby/mrbgems/mruby-struct/src/struct.c +726 -0
  645. data/resources/mruby/mrbgems/mruby-struct/test/struct.rb +205 -0
  646. data/resources/mruby/mrbgems/mruby-symbol-ext/mrbgem.rake +5 -0
  647. data/resources/mruby/mrbgems/mruby-symbol-ext/mrblib/symbol.rb +78 -0
  648. data/resources/mruby/mrbgems/mruby-symbol-ext/src/symbol.c +64 -0
  649. data/resources/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +48 -0
  650. data/resources/mruby/mrbgems/mruby-test/README.md +7 -0
  651. data/resources/mruby/mrbgems/mruby-test/driver.c +175 -0
  652. data/resources/mruby/mrbgems/mruby-test/init_mrbtest.c +38 -0
  653. data/resources/mruby/mrbgems/mruby-test/mrbgem.rake +191 -0
  654. data/resources/mruby/mrbgems/mruby-time/mrbgem.rake +5 -0
  655. data/resources/mruby/mrbgems/mruby-time/mrblib/time.rb +9 -0
  656. data/resources/mruby/mrbgems/mruby-time/src/time.c +869 -0
  657. data/resources/mruby/mrbgems/mruby-time/test/time.rb +228 -0
  658. data/resources/mruby/mrbgems/mruby-toplevel-ext/mrbgem.rake +5 -0
  659. data/resources/mruby/mrbgems/mruby-toplevel-ext/mrblib/toplevel.rb +11 -0
  660. data/resources/mruby/mrbgems/mruby-toplevel-ext/test/toplevel.rb +24 -0
  661. data/resources/mruby/mrblib/00class.rb +29 -0
  662. data/resources/mruby/mrblib/10error.rb +59 -0
  663. data/resources/mruby/mrblib/array.rb +243 -0
  664. data/resources/mruby/mrblib/compar.rb +84 -0
  665. data/resources/mruby/mrblib/enum.rb +348 -0
  666. data/resources/mruby/mrblib/float.rb +9 -0
  667. data/resources/mruby/mrblib/hash.rb +358 -0
  668. data/resources/mruby/mrblib/init_mrblib.c +11 -0
  669. data/resources/mruby/mrblib/kernel.rb +50 -0
  670. data/resources/mruby/mrblib/mrblib.rake +21 -0
  671. data/resources/mruby/mrblib/numeric.rb +163 -0
  672. data/resources/mruby/mrblib/range.rb +67 -0
  673. data/resources/mruby/mrblib/string.rb +275 -0
  674. data/resources/mruby/mruby-source.gemspec +18 -0
  675. data/resources/mruby/src/array.c +1251 -0
  676. data/resources/mruby/src/backtrace.c +285 -0
  677. data/resources/mruby/src/class.c +2546 -0
  678. data/resources/mruby/src/codedump.c +477 -0
  679. data/resources/mruby/src/compar.c +13 -0
  680. data/resources/mruby/src/crc.c +39 -0
  681. data/resources/mruby/src/debug.c +217 -0
  682. data/resources/mruby/src/dump.c +1106 -0
  683. data/resources/mruby/src/enum.c +14 -0
  684. data/resources/mruby/src/error.c +513 -0
  685. data/resources/mruby/src/error.h +3 -0
  686. data/resources/mruby/src/etc.c +246 -0
  687. data/resources/mruby/src/fmt_fp.c +374 -0
  688. data/resources/mruby/src/gc.c +1835 -0
  689. data/resources/mruby/src/hash.c +916 -0
  690. data/resources/mruby/src/init.c +51 -0
  691. data/resources/mruby/src/kernel.c +1264 -0
  692. data/resources/mruby/src/load.c +706 -0
  693. data/resources/mruby/src/mruby_core.rake +20 -0
  694. data/resources/mruby/src/numeric.c +1574 -0
  695. data/resources/mruby/src/object.c +618 -0
  696. data/resources/mruby/src/opcode.h +2 -0
  697. data/resources/mruby/src/pool.c +209 -0
  698. data/resources/mruby/src/print.c +47 -0
  699. data/resources/mruby/src/proc.c +313 -0
  700. data/resources/mruby/src/range.c +446 -0
  701. data/resources/mruby/src/state.c +307 -0
  702. data/resources/mruby/src/string.c +3025 -0
  703. data/resources/mruby/src/symbol.c +494 -0
  704. data/resources/mruby/src/value_array.h +27 -0
  705. data/resources/mruby/src/variable.c +982 -0
  706. data/resources/mruby/src/version.c +17 -0
  707. data/resources/mruby/src/vm.c +3020 -0
  708. data/resources/mruby/tasks/benchmark.rake +91 -0
  709. data/resources/mruby/tasks/gitlab.rake +118 -0
  710. data/resources/mruby/tasks/libmruby.rake +24 -0
  711. data/resources/mruby/tasks/mrbgems.rake +98 -0
  712. data/resources/mruby/tasks/toolchains/android.rake +321 -0
  713. data/resources/mruby/tasks/toolchains/clang.rake +9 -0
  714. data/resources/mruby/tasks/toolchains/gcc.rake +66 -0
  715. data/resources/mruby/tasks/toolchains/openwrt.rake +38 -0
  716. data/resources/mruby/tasks/toolchains/visualcpp.rake +68 -0
  717. data/resources/mruby/test/assert.rb +249 -0
  718. data/resources/mruby/test/bintest.rb +33 -0
  719. data/resources/mruby/test/report.rb +4 -0
  720. data/resources/mruby/test/t/argumenterror.rb +16 -0
  721. data/resources/mruby/test/t/array.rb +394 -0
  722. data/resources/mruby/test/t/basicobject.rb +11 -0
  723. data/resources/mruby/test/t/bs_block.rb +521 -0
  724. data/resources/mruby/test/t/bs_literal.rb +38 -0
  725. data/resources/mruby/test/t/class.rb +451 -0
  726. data/resources/mruby/test/t/codegen.rb +197 -0
  727. data/resources/mruby/test/t/comparable.rb +80 -0
  728. data/resources/mruby/test/t/ensure.rb +54 -0
  729. data/resources/mruby/test/t/enumerable.rb +134 -0
  730. data/resources/mruby/test/t/exception.rb +422 -0
  731. data/resources/mruby/test/t/false.rb +31 -0
  732. data/resources/mruby/test/t/float.rb +209 -0
  733. data/resources/mruby/test/t/gc.rb +45 -0
  734. data/resources/mruby/test/t/hash.rb +375 -0
  735. data/resources/mruby/test/t/indexerror.rb +6 -0
  736. data/resources/mruby/test/t/integer.rb +277 -0
  737. data/resources/mruby/test/t/iterations.rb +61 -0
  738. data/resources/mruby/test/t/kernel.rb +600 -0
  739. data/resources/mruby/test/t/lang.rb +74 -0
  740. data/resources/mruby/test/t/literals.rb +337 -0
  741. data/resources/mruby/test/t/localjumperror.rb +13 -0
  742. data/resources/mruby/test/t/methods.rb +109 -0
  743. data/resources/mruby/test/t/module.rb +914 -0
  744. data/resources/mruby/test/t/nameerror.rb +28 -0
  745. data/resources/mruby/test/t/nil.rb +39 -0
  746. data/resources/mruby/test/t/nomethoderror.rb +22 -0
  747. data/resources/mruby/test/t/numeric.rb +43 -0
  748. data/resources/mruby/test/t/object.rb +11 -0
  749. data/resources/mruby/test/t/proc.rb +180 -0
  750. data/resources/mruby/test/t/range.rb +95 -0
  751. data/resources/mruby/test/t/rangeerror.rb +6 -0
  752. data/resources/mruby/test/t/regexperror.rb +4 -0
  753. data/resources/mruby/test/t/runtimeerror.rb +6 -0
  754. data/resources/mruby/test/t/standarderror.rb +6 -0
  755. data/resources/mruby/test/t/string.rb +728 -0
  756. data/resources/mruby/test/t/superclass.rb +47 -0
  757. data/resources/mruby/test/t/symbol.rb +30 -0
  758. data/resources/mruby/test/t/syntax.rb +468 -0
  759. data/resources/mruby/test/t/true.rb +31 -0
  760. data/resources/mruby/test/t/typeerror.rb +6 -0
  761. data/resources/mruby/test/t/unicode.rb +39 -0
  762. data/resources/mruby/travis_config.rb +53 -0
  763. metadata +806 -0
@@ -0,0 +1,4801 @@
1
+ /-- This set of tests check the DFA matching functionality of pcre_dfa_exec().
2
+ The -dfa flag must be used with pcretest when running it. --/
3
+
4
+ /abc/
5
+ abc
6
+
7
+ /ab*c/
8
+ abc
9
+ abbbbc
10
+ ac
11
+
12
+ /ab+c/
13
+ abc
14
+ abbbbbbc
15
+ *** Failers
16
+ ac
17
+ ab
18
+
19
+ /a*/
20
+ a
21
+ aaaaaaaaaaaaaaaaa
22
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
23
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\F
24
+
25
+ /(a|abcd|african)/
26
+ a
27
+ abcd
28
+ african
29
+
30
+ /^abc/
31
+ abcdef
32
+ *** Failers
33
+ xyzabc
34
+ xyz\nabc
35
+
36
+ /^abc/m
37
+ abcdef
38
+ xyz\nabc
39
+ *** Failers
40
+ xyzabc
41
+
42
+ /\Aabc/
43
+ abcdef
44
+ *** Failers
45
+ xyzabc
46
+ xyz\nabc
47
+
48
+ /\Aabc/m
49
+ abcdef
50
+ *** Failers
51
+ xyzabc
52
+ xyz\nabc
53
+
54
+ /\Gabc/
55
+ abcdef
56
+ xyzabc\>3
57
+ *** Failers
58
+ xyzabc
59
+ xyzabc\>2
60
+
61
+ /x\dy\Dz/
62
+ x9yzz
63
+ x0y+z
64
+ *** Failers
65
+ xyz
66
+ xxy0z
67
+
68
+ /x\sy\Sz/
69
+ x yzz
70
+ x y+z
71
+ *** Failers
72
+ xyz
73
+ xxyyz
74
+
75
+ /x\wy\Wz/
76
+ xxy+z
77
+ *** Failers
78
+ xxy0z
79
+ x+y+z
80
+
81
+ /x.y/
82
+ x+y
83
+ x-y
84
+ *** Failers
85
+ x\ny
86
+
87
+ /x.y/s
88
+ x+y
89
+ x-y
90
+ x\ny
91
+
92
+ /(a.b(?s)c.d|x.y)p.q/
93
+ a+bc+dp+q
94
+ a+bc\ndp+q
95
+ x\nyp+q
96
+ *** Failers
97
+ a\nbc\ndp+q
98
+ a+bc\ndp\nq
99
+ x\nyp\nq
100
+
101
+ /a\d\z/
102
+ ba0
103
+ *** Failers
104
+ ba0\n
105
+ ba0\ncd
106
+
107
+ /a\d\z/m
108
+ ba0
109
+ *** Failers
110
+ ba0\n
111
+ ba0\ncd
112
+
113
+ /a\d\Z/
114
+ ba0
115
+ ba0\n
116
+ *** Failers
117
+ ba0\ncd
118
+
119
+ /a\d\Z/m
120
+ ba0
121
+ ba0\n
122
+ *** Failers
123
+ ba0\ncd
124
+
125
+ /a\d$/
126
+ ba0
127
+ ba0\n
128
+ *** Failers
129
+ ba0\ncd
130
+
131
+ /a\d$/m
132
+ ba0
133
+ ba0\n
134
+ ba0\ncd
135
+ *** Failers
136
+
137
+ /abc/i
138
+ abc
139
+ aBc
140
+ ABC
141
+
142
+ /[^a]/
143
+ abcd
144
+
145
+ /ab?\w/
146
+ abz
147
+ abbz
148
+ azz
149
+
150
+ /x{0,3}yz/
151
+ ayzq
152
+ axyzq
153
+ axxyz
154
+ axxxyzq
155
+ axxxxyzq
156
+ *** Failers
157
+ ax
158
+ axx
159
+
160
+ /x{3}yz/
161
+ axxxyzq
162
+ axxxxyzq
163
+ *** Failers
164
+ ax
165
+ axx
166
+ ayzq
167
+ axyzq
168
+ axxyz
169
+
170
+ /x{2,3}yz/
171
+ axxyz
172
+ axxxyzq
173
+ axxxxyzq
174
+ *** Failers
175
+ ax
176
+ axx
177
+ ayzq
178
+ axyzq
179
+
180
+ /[^a]+/
181
+ bac
182
+ bcdefax
183
+ *** Failers
184
+ aaaaa
185
+
186
+ /[^a]*/
187
+ bac
188
+ bcdefax
189
+ *** Failers
190
+ aaaaa
191
+
192
+ /[^a]{3,5}/
193
+ xyz
194
+ awxyza
195
+ abcdefa
196
+ abcdefghijk
197
+ *** Failers
198
+ axya
199
+ axa
200
+ aaaaa
201
+
202
+ /\d*/
203
+ 1234b567
204
+ xyz
205
+
206
+ /\D*/
207
+ a1234b567
208
+ xyz
209
+
210
+ /\d+/
211
+ ab1234c56
212
+ *** Failers
213
+ xyz
214
+
215
+ /\D+/
216
+ ab123c56
217
+ *** Failers
218
+ 789
219
+
220
+ /\d?A/
221
+ 045ABC
222
+ ABC
223
+ *** Failers
224
+ XYZ
225
+
226
+ /\D?A/
227
+ ABC
228
+ BAC
229
+ 9ABC
230
+ *** Failers
231
+
232
+ /a+/
233
+ aaaa
234
+
235
+ /^.*xyz/
236
+ xyz
237
+ ggggggggxyz
238
+
239
+ /^.+xyz/
240
+ abcdxyz
241
+ axyz
242
+ *** Failers
243
+ xyz
244
+
245
+ /^.?xyz/
246
+ xyz
247
+ cxyz
248
+
249
+ /^\d{2,3}X/
250
+ 12X
251
+ 123X
252
+ *** Failers
253
+ X
254
+ 1X
255
+ 1234X
256
+
257
+ /^[abcd]\d/
258
+ a45
259
+ b93
260
+ c99z
261
+ d04
262
+ *** Failers
263
+ e45
264
+ abcd
265
+ abcd1234
266
+ 1234
267
+
268
+ /^[abcd]*\d/
269
+ a45
270
+ b93
271
+ c99z
272
+ d04
273
+ abcd1234
274
+ 1234
275
+ *** Failers
276
+ e45
277
+ abcd
278
+
279
+ /^[abcd]+\d/
280
+ a45
281
+ b93
282
+ c99z
283
+ d04
284
+ abcd1234
285
+ *** Failers
286
+ 1234
287
+ e45
288
+ abcd
289
+
290
+ /^a+X/
291
+ aX
292
+ aaX
293
+
294
+ /^[abcd]?\d/
295
+ a45
296
+ b93
297
+ c99z
298
+ d04
299
+ 1234
300
+ *** Failers
301
+ abcd1234
302
+ e45
303
+
304
+ /^[abcd]{2,3}\d/
305
+ ab45
306
+ bcd93
307
+ *** Failers
308
+ 1234
309
+ a36
310
+ abcd1234
311
+ ee45
312
+
313
+ /^(abc)*\d/
314
+ abc45
315
+ abcabcabc45
316
+ 42xyz
317
+ *** Failers
318
+
319
+ /^(abc)+\d/
320
+ abc45
321
+ abcabcabc45
322
+ *** Failers
323
+ 42xyz
324
+
325
+ /^(abc)?\d/
326
+ abc45
327
+ 42xyz
328
+ *** Failers
329
+ abcabcabc45
330
+
331
+ /^(abc){2,3}\d/
332
+ abcabc45
333
+ abcabcabc45
334
+ *** Failers
335
+ abcabcabcabc45
336
+ abc45
337
+ 42xyz
338
+
339
+ /1(abc|xyz)2(?1)3/
340
+ 1abc2abc3456
341
+ 1abc2xyz3456
342
+
343
+ /^(a*\w|ab)=(a*\w|ab)/
344
+ ab=ab
345
+
346
+ /^(a*\w|ab)=(?1)/
347
+ ab=ab
348
+
349
+ /^([^()]|\((?1)*\))*$/
350
+ abc
351
+ a(b)c
352
+ a(b(c))d
353
+ *** Failers)
354
+ a(b(c)d
355
+
356
+ /^>abc>([^()]|\((?1)*\))*<xyz<$/
357
+ >abc>123<xyz<
358
+ >abc>1(2)3<xyz<
359
+ >abc>(1(2)3)<xyz<
360
+
361
+ /^(?>a*)\d/
362
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9876
363
+ *** Failers
364
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
365
+
366
+ /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/x
367
+ <>
368
+ <abcd>
369
+ <abc <123> hij>
370
+ <abc <def> hij>
371
+ <abc<>def>
372
+ <abc<>
373
+ *** Failers
374
+ <abc
375
+
376
+ /^(?(?=abc)\w{3}:|\d\d)$/
377
+ abc:
378
+ 12
379
+ *** Failers
380
+ 123
381
+ xyz
382
+
383
+ /^(?(?!abc)\d\d|\w{3}:)$/
384
+ abc:
385
+ 12
386
+ *** Failers
387
+ 123
388
+ xyz
389
+
390
+ /^(?=abc)\w{5}:$/
391
+ abcde:
392
+ *** Failers
393
+ abc..
394
+ 123
395
+ vwxyz
396
+
397
+ /^(?!abc)\d\d$/
398
+ 12
399
+ *** Failers
400
+ abcde:
401
+ abc..
402
+ 123
403
+ vwxyz
404
+
405
+ /(?<=abc|xy)123/
406
+ abc12345
407
+ wxy123z
408
+ *** Failers
409
+ 123abc
410
+
411
+ /(?<!abc|xy)123/
412
+ 123abc
413
+ mno123456
414
+ *** Failers
415
+ abc12345
416
+ wxy123z
417
+
418
+ /abc(?C1)xyz/
419
+ abcxyz
420
+ 123abcxyz999
421
+
422
+ /(ab|cd){3,4}/C
423
+ ababab
424
+ abcdabcd
425
+ abcdcdcdcdcd
426
+
427
+ /^abc/
428
+ abcdef
429
+ *** Failers
430
+ abcdef\B
431
+
432
+ /^(a*|xyz)/
433
+ bcd
434
+ aaabcd
435
+ xyz
436
+ xyz\N
437
+ *** Failers
438
+ bcd\N
439
+
440
+ /xyz$/
441
+ xyz
442
+ xyz\n
443
+ *** Failers
444
+ xyz\Z
445
+ xyz\n\Z
446
+
447
+ /xyz$/m
448
+ xyz
449
+ xyz\n
450
+ abcxyz\npqr
451
+ abcxyz\npqr\Z
452
+ xyz\n\Z
453
+ *** Failers
454
+ xyz\Z
455
+
456
+ /\Gabc/
457
+ abcdef
458
+ defabcxyz\>3
459
+ *** Failers
460
+ defabcxyz
461
+
462
+ /^abcdef/
463
+ ab\P
464
+ abcde\P
465
+ abcdef\P
466
+ *** Failers
467
+ abx\P
468
+
469
+ /^a{2,4}\d+z/
470
+ a\P
471
+ aa\P
472
+ aa2\P
473
+ aaa\P
474
+ aaa23\P
475
+ aaaa12345\P
476
+ aa0z\P
477
+ aaaa4444444444444z\P
478
+ *** Failers
479
+ az\P
480
+ aaaaa\P
481
+ a56\P
482
+
483
+ /^abcdef/
484
+ abc\P
485
+ def\R
486
+
487
+ /(?<=foo)bar/
488
+ xyzfo\P
489
+ foob\P\>2
490
+ foobar...\R\P\>4
491
+ xyzfo\P
492
+ foobar\>2
493
+ *** Failers
494
+ xyzfo\P
495
+ obar\R
496
+
497
+ /(ab*(cd|ef))+X/
498
+ adfadadaklhlkalkajhlkjahdfasdfasdfladsfjkj\P\Z
499
+ lkjhlkjhlkjhlkjhabbbbbbcdaefabbbbbbbefa\P\B\Z
500
+ cdabbbbbbbb\P\R\B\Z
501
+ efabbbbbbbbbbbbbbbb\P\R\B\Z
502
+ bbbbbbbbbbbbcdXyasdfadf\P\R\B\Z
503
+
504
+ /(a|b)/SF>testsavedregex
505
+ <testsavedregex
506
+ abc
507
+ ** Failers
508
+ def
509
+
510
+ /the quick brown fox/
511
+ the quick brown fox
512
+ The quick brown FOX
513
+ What do you know about the quick brown fox?
514
+ What do you know about THE QUICK BROWN FOX?
515
+
516
+ /The quick brown fox/i
517
+ the quick brown fox
518
+ The quick brown FOX
519
+ What do you know about the quick brown fox?
520
+ What do you know about THE QUICK BROWN FOX?
521
+
522
+ /abcd\t\n\r\f\a\e\071\x3b\$\\\?caxyz/
523
+ abcd\t\n\r\f\a\e9;\$\\?caxyz
524
+
525
+ /a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/
526
+ abxyzpqrrrabbxyyyypqAzz
527
+ abxyzpqrrrabbxyyyypqAzz
528
+ aabxyzpqrrrabbxyyyypqAzz
529
+ aaabxyzpqrrrabbxyyyypqAzz
530
+ aaaabxyzpqrrrabbxyyyypqAzz
531
+ abcxyzpqrrrabbxyyyypqAzz
532
+ aabcxyzpqrrrabbxyyyypqAzz
533
+ aaabcxyzpqrrrabbxyyyypAzz
534
+ aaabcxyzpqrrrabbxyyyypqAzz
535
+ aaabcxyzpqrrrabbxyyyypqqAzz
536
+ aaabcxyzpqrrrabbxyyyypqqqAzz
537
+ aaabcxyzpqrrrabbxyyyypqqqqAzz
538
+ aaabcxyzpqrrrabbxyyyypqqqqqAzz
539
+ aaabcxyzpqrrrabbxyyyypqqqqqqAzz
540
+ aaaabcxyzpqrrrabbxyyyypqAzz
541
+ abxyzzpqrrrabbxyyyypqAzz
542
+ aabxyzzzpqrrrabbxyyyypqAzz
543
+ aaabxyzzzzpqrrrabbxyyyypqAzz
544
+ aaaabxyzzzzpqrrrabbxyyyypqAzz
545
+ abcxyzzpqrrrabbxyyyypqAzz
546
+ aabcxyzzzpqrrrabbxyyyypqAzz
547
+ aaabcxyzzzzpqrrrabbxyyyypqAzz
548
+ aaaabcxyzzzzpqrrrabbxyyyypqAzz
549
+ aaaabcxyzzzzpqrrrabbbxyyyypqAzz
550
+ aaaabcxyzzzzpqrrrabbbxyyyyypqAzz
551
+ aaabcxyzpqrrrabbxyyyypABzz
552
+ aaabcxyzpqrrrabbxyyyypABBzz
553
+ >>>aaabxyzpqrrrabbxyyyypqAzz
554
+ >aaaabxyzpqrrrabbxyyyypqAzz
555
+ >>>>abcxyzpqrrrabbxyyyypqAzz
556
+ *** Failers
557
+ abxyzpqrrabbxyyyypqAzz
558
+ abxyzpqrrrrabbxyyyypqAzz
559
+ abxyzpqrrrabxyyyypqAzz
560
+ aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz
561
+ aaaabcxyzzzzpqrrrabbbxyyypqAzz
562
+ aaabcxyzpqrrrabbxyyyypqqqqqqqAzz
563
+
564
+ /^(abc){1,2}zz/
565
+ abczz
566
+ abcabczz
567
+ *** Failers
568
+ zz
569
+ abcabcabczz
570
+ >>abczz
571
+
572
+ /^(b+?|a){1,2}?c/
573
+ bc
574
+ bbc
575
+ bbbc
576
+ bac
577
+ bbac
578
+ aac
579
+ abbbbbbbbbbbc
580
+ bbbbbbbbbbbac
581
+ *** Failers
582
+ aaac
583
+ abbbbbbbbbbbac
584
+
585
+ /^(b+|a){1,2}c/
586
+ bc
587
+ bbc
588
+ bbbc
589
+ bac
590
+ bbac
591
+ aac
592
+ abbbbbbbbbbbc
593
+ bbbbbbbbbbbac
594
+ *** Failers
595
+ aaac
596
+ abbbbbbbbbbbac
597
+
598
+ /^(b+|a){1,2}?bc/
599
+ bbc
600
+
601
+ /^(b*|ba){1,2}?bc/
602
+ babc
603
+ bbabc
604
+ bababc
605
+ *** Failers
606
+ bababbc
607
+ babababc
608
+
609
+ /^(ba|b*){1,2}?bc/
610
+ babc
611
+ bbabc
612
+ bababc
613
+ *** Failers
614
+ bababbc
615
+ babababc
616
+
617
+ /^\ca\cA\c[\c{\c:/
618
+ \x01\x01\e;z
619
+
620
+ /^[ab\]cde]/
621
+ athing
622
+ bthing
623
+ ]thing
624
+ cthing
625
+ dthing
626
+ ething
627
+ *** Failers
628
+ fthing
629
+ [thing
630
+ \\thing
631
+
632
+ /^[]cde]/
633
+ ]thing
634
+ cthing
635
+ dthing
636
+ ething
637
+ *** Failers
638
+ athing
639
+ fthing
640
+
641
+ /^[^ab\]cde]/
642
+ fthing
643
+ [thing
644
+ \\thing
645
+ *** Failers
646
+ athing
647
+ bthing
648
+ ]thing
649
+ cthing
650
+ dthing
651
+ ething
652
+
653
+ /^[^]cde]/
654
+ athing
655
+ fthing
656
+ *** Failers
657
+ ]thing
658
+ cthing
659
+ dthing
660
+ ething
661
+
662
+ /^\�/
663
+
664
+
665
+ /^�/
666
+
667
+
668
+ /^[0-9]+$/
669
+ 0
670
+ 1
671
+ 2
672
+ 3
673
+ 4
674
+ 5
675
+ 6
676
+ 7
677
+ 8
678
+ 9
679
+ 10
680
+ 100
681
+ *** Failers
682
+ abc
683
+
684
+ /^.*nter/
685
+ enter
686
+ inter
687
+ uponter
688
+
689
+ /^xxx[0-9]+$/
690
+ xxx0
691
+ xxx1234
692
+ *** Failers
693
+ xxx
694
+
695
+ /^.+[0-9][0-9][0-9]$/
696
+ x123
697
+ xx123
698
+ 123456
699
+ *** Failers
700
+ 123
701
+ x1234
702
+
703
+ /^.+?[0-9][0-9][0-9]$/
704
+ x123
705
+ xx123
706
+ 123456
707
+ *** Failers
708
+ 123
709
+ x1234
710
+
711
+ /^([^!]+)!(.+)=apquxz\.ixr\.zzz\.ac\.uk$/
712
+ abc!pqr=apquxz.ixr.zzz.ac.uk
713
+ *** Failers
714
+ !pqr=apquxz.ixr.zzz.ac.uk
715
+ abc!=apquxz.ixr.zzz.ac.uk
716
+ abc!pqr=apquxz:ixr.zzz.ac.uk
717
+ abc!pqr=apquxz.ixr.zzz.ac.ukk
718
+
719
+ /:/
720
+ Well, we need a colon: somewhere
721
+ *** Fail if we don't
722
+
723
+ /([\da-f:]+)$/i
724
+ 0abc
725
+ abc
726
+ fed
727
+ E
728
+ ::
729
+ 5f03:12C0::932e
730
+ fed def
731
+ Any old stuff
732
+ *** Failers
733
+ 0zzz
734
+ gzzz
735
+ fed\x20
736
+ Any old rubbish
737
+
738
+ /^.*\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/
739
+ .1.2.3
740
+ A.12.123.0
741
+ *** Failers
742
+ .1.2.3333
743
+ 1.2.3
744
+ 1234.2.3
745
+
746
+ /^(\d+)\s+IN\s+SOA\s+(\S+)\s+(\S+)\s*\(\s*$/
747
+ 1 IN SOA non-sp1 non-sp2(
748
+ 1 IN SOA non-sp1 non-sp2 (
749
+ *** Failers
750
+ 1IN SOA non-sp1 non-sp2(
751
+
752
+ /^[a-zA-Z\d][a-zA-Z\d\-]*(\.[a-zA-Z\d][a-zA-z\d\-]*)*\.$/
753
+ a.
754
+ Z.
755
+ 2.
756
+ ab-c.pq-r.
757
+ sxk.zzz.ac.uk.
758
+ x-.y-.
759
+ *** Failers
760
+ -abc.peq.
761
+
762
+ /^\*\.[a-z]([a-z\-\d]*[a-z\d]+)?(\.[a-z]([a-z\-\d]*[a-z\d]+)?)*$/
763
+ *.a
764
+ *.b0-a
765
+ *.c3-b.c
766
+ *.c-a.b-c
767
+ *** Failers
768
+ *.0
769
+ *.a-
770
+ *.a-b.c-
771
+ *.c-a.0-c
772
+
773
+ /^(?=ab(de))(abd)(e)/
774
+ abde
775
+
776
+ /^(?!(ab)de|x)(abd)(f)/
777
+ abdf
778
+
779
+ /^(?=(ab(cd)))(ab)/
780
+ abcd
781
+
782
+ /^[\da-f](\.[\da-f])*$/i
783
+ a.b.c.d
784
+ A.B.C.D
785
+ a.b.c.1.2.3.C
786
+
787
+ /^\".*\"\s*(;.*)?$/
788
+ \"1234\"
789
+ \"abcd\" ;
790
+ \"\" ; rhubarb
791
+ *** Failers
792
+ \"1234\" : things
793
+
794
+ /^$/
795
+ \
796
+ *** Failers
797
+
798
+ / ^ a (?# begins with a) b\sc (?# then b c) $ (?# then end)/x
799
+ ab c
800
+ *** Failers
801
+ abc
802
+ ab cde
803
+
804
+ /(?x) ^ a (?# begins with a) b\sc (?# then b c) $ (?# then end)/
805
+ ab c
806
+ *** Failers
807
+ abc
808
+ ab cde
809
+
810
+ /^ a\ b[c ]d $/x
811
+ a bcd
812
+ a b d
813
+ *** Failers
814
+ abcd
815
+ ab d
816
+
817
+ /^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$/
818
+ abcdefhijklm
819
+
820
+ /^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$/
821
+ abcdefhijklm
822
+
823
+ /^[\w][\W][\s][\S][\d][\D][\b][\n][\c]][\022]/
824
+ a+ Z0+\x08\n\x1d\x12
825
+
826
+ /^[.^$|()*+?{,}]+/
827
+ .^\$(*+)|{?,?}
828
+
829
+ /^a*\w/
830
+ z
831
+ az
832
+ aaaz
833
+ a
834
+ aa
835
+ aaaa
836
+ a+
837
+ aa+
838
+
839
+ /^a*?\w/
840
+ z
841
+ az
842
+ aaaz
843
+ a
844
+ aa
845
+ aaaa
846
+ a+
847
+ aa+
848
+
849
+ /^a+\w/
850
+ az
851
+ aaaz
852
+ aa
853
+ aaaa
854
+ aa+
855
+
856
+ /^a+?\w/
857
+ az
858
+ aaaz
859
+ aa
860
+ aaaa
861
+ aa+
862
+
863
+ /^\d{8}\w{2,}/
864
+ 1234567890
865
+ 12345678ab
866
+ 12345678__
867
+ *** Failers
868
+ 1234567
869
+
870
+ /^[aeiou\d]{4,5}$/
871
+ uoie
872
+ 1234
873
+ 12345
874
+ aaaaa
875
+ *** Failers
876
+ 123456
877
+
878
+ /^[aeiou\d]{4,5}?/
879
+ uoie
880
+ 1234
881
+ 12345
882
+ aaaaa
883
+ 123456
884
+
885
+ /^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/
886
+ From abcd Mon Sep 01 12:33:02 1997
887
+
888
+ /^From\s+\S+\s+([a-zA-Z]{3}\s+){2}\d{1,2}\s+\d\d:\d\d/
889
+ From abcd Mon Sep 01 12:33:02 1997
890
+ From abcd Mon Sep 1 12:33:02 1997
891
+ *** Failers
892
+ From abcd Sep 01 12:33:02 1997
893
+
894
+ /^12.34/s
895
+ 12\n34
896
+ 12\r34
897
+
898
+ /\w+(?=\t)/
899
+ the quick brown\t fox
900
+
901
+ /foo(?!bar)(.*)/
902
+ foobar is foolish see?
903
+
904
+ /(?:(?!foo)...|^.{0,2})bar(.*)/
905
+ foobar crowbar etc
906
+ barrel
907
+ 2barrel
908
+ A barrel
909
+
910
+ /^(\D*)(?=\d)(?!123)/
911
+ abc456
912
+ *** Failers
913
+ abc123
914
+
915
+ /^1234(?# test newlines
916
+ inside)/
917
+ 1234
918
+
919
+ /^1234 #comment in extended re
920
+ /x
921
+ 1234
922
+
923
+ /#rhubarb
924
+ abcd/x
925
+ abcd
926
+
927
+ /^abcd#rhubarb/x
928
+ abcd
929
+
930
+ /(?!^)abc/
931
+ the abc
932
+ *** Failers
933
+ abc
934
+
935
+ /(?=^)abc/
936
+ abc
937
+ *** Failers
938
+ the abc
939
+
940
+ /^[ab]{1,3}(ab*|b)/
941
+ aabbbbb
942
+
943
+ /^[ab]{1,3}?(ab*|b)/
944
+ aabbbbb
945
+
946
+ /^[ab]{1,3}?(ab*?|b)/
947
+ aabbbbb
948
+
949
+ /^[ab]{1,3}(ab*?|b)/
950
+ aabbbbb
951
+
952
+ / (?: [\040\t] | \(
953
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
954
+ \) )* # optional leading comment
955
+ (?: (?:
956
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
957
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
958
+ |
959
+ " (?: # opening quote...
960
+ [^\\\x80-\xff\n\015"] # Anything except backslash and quote
961
+ | # or
962
+ \\ [^\x80-\xff] # Escaped something (something != CR)
963
+ )* " # closing quote
964
+ ) # initial word
965
+ (?: (?: [\040\t] | \(
966
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
967
+ \) )* \. (?: [\040\t] | \(
968
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
969
+ \) )* (?:
970
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
971
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
972
+ |
973
+ " (?: # opening quote...
974
+ [^\\\x80-\xff\n\015"] # Anything except backslash and quote
975
+ | # or
976
+ \\ [^\x80-\xff] # Escaped something (something != CR)
977
+ )* " # closing quote
978
+ ) )* # further okay, if led by a period
979
+ (?: [\040\t] | \(
980
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
981
+ \) )* @ (?: [\040\t] | \(
982
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
983
+ \) )* (?:
984
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
985
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
986
+ | \[ # [
987
+ (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
988
+ \] # ]
989
+ ) # initial subdomain
990
+ (?: #
991
+ (?: [\040\t] | \(
992
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
993
+ \) )* \. # if led by a period...
994
+ (?: [\040\t] | \(
995
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
996
+ \) )* (?:
997
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
998
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
999
+ | \[ # [
1000
+ (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1001
+ \] # ]
1002
+ ) # ...further okay
1003
+ )*
1004
+ # address
1005
+ | # or
1006
+ (?:
1007
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1008
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1009
+ |
1010
+ " (?: # opening quote...
1011
+ [^\\\x80-\xff\n\015"] # Anything except backslash and quote
1012
+ | # or
1013
+ \\ [^\x80-\xff] # Escaped something (something != CR)
1014
+ )* " # closing quote
1015
+ ) # one word, optionally followed by....
1016
+ (?:
1017
+ [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or...
1018
+ \(
1019
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1020
+ \) | # comments, or...
1021
+
1022
+ " (?: # opening quote...
1023
+ [^\\\x80-\xff\n\015"] # Anything except backslash and quote
1024
+ | # or
1025
+ \\ [^\x80-\xff] # Escaped something (something != CR)
1026
+ )* " # closing quote
1027
+ # quoted strings
1028
+ )*
1029
+ < (?: [\040\t] | \(
1030
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1031
+ \) )* # leading <
1032
+ (?: @ (?: [\040\t] | \(
1033
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1034
+ \) )* (?:
1035
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1036
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1037
+ | \[ # [
1038
+ (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1039
+ \] # ]
1040
+ ) # initial subdomain
1041
+ (?: #
1042
+ (?: [\040\t] | \(
1043
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1044
+ \) )* \. # if led by a period...
1045
+ (?: [\040\t] | \(
1046
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1047
+ \) )* (?:
1048
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1049
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1050
+ | \[ # [
1051
+ (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1052
+ \] # ]
1053
+ ) # ...further okay
1054
+ )*
1055
+
1056
+ (?: (?: [\040\t] | \(
1057
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1058
+ \) )* , (?: [\040\t] | \(
1059
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1060
+ \) )* @ (?: [\040\t] | \(
1061
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1062
+ \) )* (?:
1063
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1064
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1065
+ | \[ # [
1066
+ (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1067
+ \] # ]
1068
+ ) # initial subdomain
1069
+ (?: #
1070
+ (?: [\040\t] | \(
1071
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1072
+ \) )* \. # if led by a period...
1073
+ (?: [\040\t] | \(
1074
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1075
+ \) )* (?:
1076
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1077
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1078
+ | \[ # [
1079
+ (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1080
+ \] # ]
1081
+ ) # ...further okay
1082
+ )*
1083
+ )* # further okay, if led by comma
1084
+ : # closing colon
1085
+ (?: [\040\t] | \(
1086
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1087
+ \) )* )? # optional route
1088
+ (?:
1089
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1090
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1091
+ |
1092
+ " (?: # opening quote...
1093
+ [^\\\x80-\xff\n\015"] # Anything except backslash and quote
1094
+ | # or
1095
+ \\ [^\x80-\xff] # Escaped something (something != CR)
1096
+ )* " # closing quote
1097
+ ) # initial word
1098
+ (?: (?: [\040\t] | \(
1099
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1100
+ \) )* \. (?: [\040\t] | \(
1101
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1102
+ \) )* (?:
1103
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1104
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1105
+ |
1106
+ " (?: # opening quote...
1107
+ [^\\\x80-\xff\n\015"] # Anything except backslash and quote
1108
+ | # or
1109
+ \\ [^\x80-\xff] # Escaped something (something != CR)
1110
+ )* " # closing quote
1111
+ ) )* # further okay, if led by a period
1112
+ (?: [\040\t] | \(
1113
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1114
+ \) )* @ (?: [\040\t] | \(
1115
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1116
+ \) )* (?:
1117
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1118
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1119
+ | \[ # [
1120
+ (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1121
+ \] # ]
1122
+ ) # initial subdomain
1123
+ (?: #
1124
+ (?: [\040\t] | \(
1125
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1126
+ \) )* \. # if led by a period...
1127
+ (?: [\040\t] | \(
1128
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1129
+ \) )* (?:
1130
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1131
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1132
+ | \[ # [
1133
+ (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1134
+ \] # ]
1135
+ ) # ...further okay
1136
+ )*
1137
+ # address spec
1138
+ (?: [\040\t] | \(
1139
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1140
+ \) )* > # trailing >
1141
+ # name and address
1142
+ ) (?: [\040\t] | \(
1143
+ (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1144
+ \) )* # optional trailing comment
1145
+ /x
1146
+ Alan Other <user\@dom.ain>
1147
+ <user\@dom.ain>
1148
+ user\@dom.ain
1149
+ \"A. Other\" <user.1234\@dom.ain> (a comment)
1150
+ A. Other <user.1234\@dom.ain> (a comment)
1151
+ \"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"\@x400-re.lay
1152
+ A missing angle <user\@some.where
1153
+ *** Failers
1154
+ The quick brown fox
1155
+
1156
+ /[\040\t]* # Nab whitespace.
1157
+ (?:
1158
+ \( # (
1159
+ [^\\\x80-\xff\n\015()] * # normal*
1160
+ (?: # (
1161
+ (?: \\ [^\x80-\xff] |
1162
+ \( # (
1163
+ [^\\\x80-\xff\n\015()] * # normal*
1164
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1165
+ \) # )
1166
+ ) # special
1167
+ [^\\\x80-\xff\n\015()] * # normal*
1168
+ )* # )*
1169
+ \) # )
1170
+ [\040\t]* )* # If comment found, allow more spaces.
1171
+ # optional leading comment
1172
+ (?:
1173
+ (?:
1174
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1175
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1176
+ # Atom
1177
+ | # or
1178
+ " # "
1179
+ [^\\\x80-\xff\n\015"] * # normal
1180
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
1181
+ " # "
1182
+ # Quoted string
1183
+ )
1184
+ [\040\t]* # Nab whitespace.
1185
+ (?:
1186
+ \( # (
1187
+ [^\\\x80-\xff\n\015()] * # normal*
1188
+ (?: # (
1189
+ (?: \\ [^\x80-\xff] |
1190
+ \( # (
1191
+ [^\\\x80-\xff\n\015()] * # normal*
1192
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1193
+ \) # )
1194
+ ) # special
1195
+ [^\\\x80-\xff\n\015()] * # normal*
1196
+ )* # )*
1197
+ \) # )
1198
+ [\040\t]* )* # If comment found, allow more spaces.
1199
+ (?:
1200
+ \.
1201
+ [\040\t]* # Nab whitespace.
1202
+ (?:
1203
+ \( # (
1204
+ [^\\\x80-\xff\n\015()] * # normal*
1205
+ (?: # (
1206
+ (?: \\ [^\x80-\xff] |
1207
+ \( # (
1208
+ [^\\\x80-\xff\n\015()] * # normal*
1209
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1210
+ \) # )
1211
+ ) # special
1212
+ [^\\\x80-\xff\n\015()] * # normal*
1213
+ )* # )*
1214
+ \) # )
1215
+ [\040\t]* )* # If comment found, allow more spaces.
1216
+ (?:
1217
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1218
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1219
+ # Atom
1220
+ | # or
1221
+ " # "
1222
+ [^\\\x80-\xff\n\015"] * # normal
1223
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
1224
+ " # "
1225
+ # Quoted string
1226
+ )
1227
+ [\040\t]* # Nab whitespace.
1228
+ (?:
1229
+ \( # (
1230
+ [^\\\x80-\xff\n\015()] * # normal*
1231
+ (?: # (
1232
+ (?: \\ [^\x80-\xff] |
1233
+ \( # (
1234
+ [^\\\x80-\xff\n\015()] * # normal*
1235
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1236
+ \) # )
1237
+ ) # special
1238
+ [^\\\x80-\xff\n\015()] * # normal*
1239
+ )* # )*
1240
+ \) # )
1241
+ [\040\t]* )* # If comment found, allow more spaces.
1242
+ # additional words
1243
+ )*
1244
+ @
1245
+ [\040\t]* # Nab whitespace.
1246
+ (?:
1247
+ \( # (
1248
+ [^\\\x80-\xff\n\015()] * # normal*
1249
+ (?: # (
1250
+ (?: \\ [^\x80-\xff] |
1251
+ \( # (
1252
+ [^\\\x80-\xff\n\015()] * # normal*
1253
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1254
+ \) # )
1255
+ ) # special
1256
+ [^\\\x80-\xff\n\015()] * # normal*
1257
+ )* # )*
1258
+ \) # )
1259
+ [\040\t]* )* # If comment found, allow more spaces.
1260
+ (?:
1261
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1262
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1263
+ |
1264
+ \[ # [
1265
+ (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1266
+ \] # ]
1267
+ )
1268
+ [\040\t]* # Nab whitespace.
1269
+ (?:
1270
+ \( # (
1271
+ [^\\\x80-\xff\n\015()] * # normal*
1272
+ (?: # (
1273
+ (?: \\ [^\x80-\xff] |
1274
+ \( # (
1275
+ [^\\\x80-\xff\n\015()] * # normal*
1276
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1277
+ \) # )
1278
+ ) # special
1279
+ [^\\\x80-\xff\n\015()] * # normal*
1280
+ )* # )*
1281
+ \) # )
1282
+ [\040\t]* )* # If comment found, allow more spaces.
1283
+ # optional trailing comments
1284
+ (?:
1285
+ \.
1286
+ [\040\t]* # Nab whitespace.
1287
+ (?:
1288
+ \( # (
1289
+ [^\\\x80-\xff\n\015()] * # normal*
1290
+ (?: # (
1291
+ (?: \\ [^\x80-\xff] |
1292
+ \( # (
1293
+ [^\\\x80-\xff\n\015()] * # normal*
1294
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1295
+ \) # )
1296
+ ) # special
1297
+ [^\\\x80-\xff\n\015()] * # normal*
1298
+ )* # )*
1299
+ \) # )
1300
+ [\040\t]* )* # If comment found, allow more spaces.
1301
+ (?:
1302
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1303
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1304
+ |
1305
+ \[ # [
1306
+ (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1307
+ \] # ]
1308
+ )
1309
+ [\040\t]* # Nab whitespace.
1310
+ (?:
1311
+ \( # (
1312
+ [^\\\x80-\xff\n\015()] * # normal*
1313
+ (?: # (
1314
+ (?: \\ [^\x80-\xff] |
1315
+ \( # (
1316
+ [^\\\x80-\xff\n\015()] * # normal*
1317
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1318
+ \) # )
1319
+ ) # special
1320
+ [^\\\x80-\xff\n\015()] * # normal*
1321
+ )* # )*
1322
+ \) # )
1323
+ [\040\t]* )* # If comment found, allow more spaces.
1324
+ # optional trailing comments
1325
+ )*
1326
+ # address
1327
+ | # or
1328
+ (?:
1329
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1330
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1331
+ # Atom
1332
+ | # or
1333
+ " # "
1334
+ [^\\\x80-\xff\n\015"] * # normal
1335
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
1336
+ " # "
1337
+ # Quoted string
1338
+ )
1339
+ # leading word
1340
+ [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] * # "normal" atoms and or spaces
1341
+ (?:
1342
+ (?:
1343
+ \( # (
1344
+ [^\\\x80-\xff\n\015()] * # normal*
1345
+ (?: # (
1346
+ (?: \\ [^\x80-\xff] |
1347
+ \( # (
1348
+ [^\\\x80-\xff\n\015()] * # normal*
1349
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1350
+ \) # )
1351
+ ) # special
1352
+ [^\\\x80-\xff\n\015()] * # normal*
1353
+ )* # )*
1354
+ \) # )
1355
+ |
1356
+ " # "
1357
+ [^\\\x80-\xff\n\015"] * # normal
1358
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
1359
+ " # "
1360
+ ) # "special" comment or quoted string
1361
+ [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] * # more "normal"
1362
+ )*
1363
+ <
1364
+ [\040\t]* # Nab whitespace.
1365
+ (?:
1366
+ \( # (
1367
+ [^\\\x80-\xff\n\015()] * # normal*
1368
+ (?: # (
1369
+ (?: \\ [^\x80-\xff] |
1370
+ \( # (
1371
+ [^\\\x80-\xff\n\015()] * # normal*
1372
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1373
+ \) # )
1374
+ ) # special
1375
+ [^\\\x80-\xff\n\015()] * # normal*
1376
+ )* # )*
1377
+ \) # )
1378
+ [\040\t]* )* # If comment found, allow more spaces.
1379
+ # <
1380
+ (?:
1381
+ @
1382
+ [\040\t]* # Nab whitespace.
1383
+ (?:
1384
+ \( # (
1385
+ [^\\\x80-\xff\n\015()] * # normal*
1386
+ (?: # (
1387
+ (?: \\ [^\x80-\xff] |
1388
+ \( # (
1389
+ [^\\\x80-\xff\n\015()] * # normal*
1390
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1391
+ \) # )
1392
+ ) # special
1393
+ [^\\\x80-\xff\n\015()] * # normal*
1394
+ )* # )*
1395
+ \) # )
1396
+ [\040\t]* )* # If comment found, allow more spaces.
1397
+ (?:
1398
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1399
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1400
+ |
1401
+ \[ # [
1402
+ (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1403
+ \] # ]
1404
+ )
1405
+ [\040\t]* # Nab whitespace.
1406
+ (?:
1407
+ \( # (
1408
+ [^\\\x80-\xff\n\015()] * # normal*
1409
+ (?: # (
1410
+ (?: \\ [^\x80-\xff] |
1411
+ \( # (
1412
+ [^\\\x80-\xff\n\015()] * # normal*
1413
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1414
+ \) # )
1415
+ ) # special
1416
+ [^\\\x80-\xff\n\015()] * # normal*
1417
+ )* # )*
1418
+ \) # )
1419
+ [\040\t]* )* # If comment found, allow more spaces.
1420
+ # optional trailing comments
1421
+ (?:
1422
+ \.
1423
+ [\040\t]* # Nab whitespace.
1424
+ (?:
1425
+ \( # (
1426
+ [^\\\x80-\xff\n\015()] * # normal*
1427
+ (?: # (
1428
+ (?: \\ [^\x80-\xff] |
1429
+ \( # (
1430
+ [^\\\x80-\xff\n\015()] * # normal*
1431
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1432
+ \) # )
1433
+ ) # special
1434
+ [^\\\x80-\xff\n\015()] * # normal*
1435
+ )* # )*
1436
+ \) # )
1437
+ [\040\t]* )* # If comment found, allow more spaces.
1438
+ (?:
1439
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1440
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1441
+ |
1442
+ \[ # [
1443
+ (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1444
+ \] # ]
1445
+ )
1446
+ [\040\t]* # Nab whitespace.
1447
+ (?:
1448
+ \( # (
1449
+ [^\\\x80-\xff\n\015()] * # normal*
1450
+ (?: # (
1451
+ (?: \\ [^\x80-\xff] |
1452
+ \( # (
1453
+ [^\\\x80-\xff\n\015()] * # normal*
1454
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1455
+ \) # )
1456
+ ) # special
1457
+ [^\\\x80-\xff\n\015()] * # normal*
1458
+ )* # )*
1459
+ \) # )
1460
+ [\040\t]* )* # If comment found, allow more spaces.
1461
+ # optional trailing comments
1462
+ )*
1463
+ (?: ,
1464
+ [\040\t]* # Nab whitespace.
1465
+ (?:
1466
+ \( # (
1467
+ [^\\\x80-\xff\n\015()] * # normal*
1468
+ (?: # (
1469
+ (?: \\ [^\x80-\xff] |
1470
+ \( # (
1471
+ [^\\\x80-\xff\n\015()] * # normal*
1472
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1473
+ \) # )
1474
+ ) # special
1475
+ [^\\\x80-\xff\n\015()] * # normal*
1476
+ )* # )*
1477
+ \) # )
1478
+ [\040\t]* )* # If comment found, allow more spaces.
1479
+ @
1480
+ [\040\t]* # Nab whitespace.
1481
+ (?:
1482
+ \( # (
1483
+ [^\\\x80-\xff\n\015()] * # normal*
1484
+ (?: # (
1485
+ (?: \\ [^\x80-\xff] |
1486
+ \( # (
1487
+ [^\\\x80-\xff\n\015()] * # normal*
1488
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1489
+ \) # )
1490
+ ) # special
1491
+ [^\\\x80-\xff\n\015()] * # normal*
1492
+ )* # )*
1493
+ \) # )
1494
+ [\040\t]* )* # If comment found, allow more spaces.
1495
+ (?:
1496
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1497
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1498
+ |
1499
+ \[ # [
1500
+ (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1501
+ \] # ]
1502
+ )
1503
+ [\040\t]* # Nab whitespace.
1504
+ (?:
1505
+ \( # (
1506
+ [^\\\x80-\xff\n\015()] * # normal*
1507
+ (?: # (
1508
+ (?: \\ [^\x80-\xff] |
1509
+ \( # (
1510
+ [^\\\x80-\xff\n\015()] * # normal*
1511
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1512
+ \) # )
1513
+ ) # special
1514
+ [^\\\x80-\xff\n\015()] * # normal*
1515
+ )* # )*
1516
+ \) # )
1517
+ [\040\t]* )* # If comment found, allow more spaces.
1518
+ # optional trailing comments
1519
+ (?:
1520
+ \.
1521
+ [\040\t]* # Nab whitespace.
1522
+ (?:
1523
+ \( # (
1524
+ [^\\\x80-\xff\n\015()] * # normal*
1525
+ (?: # (
1526
+ (?: \\ [^\x80-\xff] |
1527
+ \( # (
1528
+ [^\\\x80-\xff\n\015()] * # normal*
1529
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1530
+ \) # )
1531
+ ) # special
1532
+ [^\\\x80-\xff\n\015()] * # normal*
1533
+ )* # )*
1534
+ \) # )
1535
+ [\040\t]* )* # If comment found, allow more spaces.
1536
+ (?:
1537
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1538
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1539
+ |
1540
+ \[ # [
1541
+ (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1542
+ \] # ]
1543
+ )
1544
+ [\040\t]* # Nab whitespace.
1545
+ (?:
1546
+ \( # (
1547
+ [^\\\x80-\xff\n\015()] * # normal*
1548
+ (?: # (
1549
+ (?: \\ [^\x80-\xff] |
1550
+ \( # (
1551
+ [^\\\x80-\xff\n\015()] * # normal*
1552
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1553
+ \) # )
1554
+ ) # special
1555
+ [^\\\x80-\xff\n\015()] * # normal*
1556
+ )* # )*
1557
+ \) # )
1558
+ [\040\t]* )* # If comment found, allow more spaces.
1559
+ # optional trailing comments
1560
+ )*
1561
+ )* # additional domains
1562
+ :
1563
+ [\040\t]* # Nab whitespace.
1564
+ (?:
1565
+ \( # (
1566
+ [^\\\x80-\xff\n\015()] * # normal*
1567
+ (?: # (
1568
+ (?: \\ [^\x80-\xff] |
1569
+ \( # (
1570
+ [^\\\x80-\xff\n\015()] * # normal*
1571
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1572
+ \) # )
1573
+ ) # special
1574
+ [^\\\x80-\xff\n\015()] * # normal*
1575
+ )* # )*
1576
+ \) # )
1577
+ [\040\t]* )* # If comment found, allow more spaces.
1578
+ # optional trailing comments
1579
+ )? # optional route
1580
+ (?:
1581
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1582
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1583
+ # Atom
1584
+ | # or
1585
+ " # "
1586
+ [^\\\x80-\xff\n\015"] * # normal
1587
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
1588
+ " # "
1589
+ # Quoted string
1590
+ )
1591
+ [\040\t]* # Nab whitespace.
1592
+ (?:
1593
+ \( # (
1594
+ [^\\\x80-\xff\n\015()] * # normal*
1595
+ (?: # (
1596
+ (?: \\ [^\x80-\xff] |
1597
+ \( # (
1598
+ [^\\\x80-\xff\n\015()] * # normal*
1599
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1600
+ \) # )
1601
+ ) # special
1602
+ [^\\\x80-\xff\n\015()] * # normal*
1603
+ )* # )*
1604
+ \) # )
1605
+ [\040\t]* )* # If comment found, allow more spaces.
1606
+ (?:
1607
+ \.
1608
+ [\040\t]* # Nab whitespace.
1609
+ (?:
1610
+ \( # (
1611
+ [^\\\x80-\xff\n\015()] * # normal*
1612
+ (?: # (
1613
+ (?: \\ [^\x80-\xff] |
1614
+ \( # (
1615
+ [^\\\x80-\xff\n\015()] * # normal*
1616
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1617
+ \) # )
1618
+ ) # special
1619
+ [^\\\x80-\xff\n\015()] * # normal*
1620
+ )* # )*
1621
+ \) # )
1622
+ [\040\t]* )* # If comment found, allow more spaces.
1623
+ (?:
1624
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1625
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1626
+ # Atom
1627
+ | # or
1628
+ " # "
1629
+ [^\\\x80-\xff\n\015"] * # normal
1630
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
1631
+ " # "
1632
+ # Quoted string
1633
+ )
1634
+ [\040\t]* # Nab whitespace.
1635
+ (?:
1636
+ \( # (
1637
+ [^\\\x80-\xff\n\015()] * # normal*
1638
+ (?: # (
1639
+ (?: \\ [^\x80-\xff] |
1640
+ \( # (
1641
+ [^\\\x80-\xff\n\015()] * # normal*
1642
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1643
+ \) # )
1644
+ ) # special
1645
+ [^\\\x80-\xff\n\015()] * # normal*
1646
+ )* # )*
1647
+ \) # )
1648
+ [\040\t]* )* # If comment found, allow more spaces.
1649
+ # additional words
1650
+ )*
1651
+ @
1652
+ [\040\t]* # Nab whitespace.
1653
+ (?:
1654
+ \( # (
1655
+ [^\\\x80-\xff\n\015()] * # normal*
1656
+ (?: # (
1657
+ (?: \\ [^\x80-\xff] |
1658
+ \( # (
1659
+ [^\\\x80-\xff\n\015()] * # normal*
1660
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1661
+ \) # )
1662
+ ) # special
1663
+ [^\\\x80-\xff\n\015()] * # normal*
1664
+ )* # )*
1665
+ \) # )
1666
+ [\040\t]* )* # If comment found, allow more spaces.
1667
+ (?:
1668
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1669
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1670
+ |
1671
+ \[ # [
1672
+ (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1673
+ \] # ]
1674
+ )
1675
+ [\040\t]* # Nab whitespace.
1676
+ (?:
1677
+ \( # (
1678
+ [^\\\x80-\xff\n\015()] * # normal*
1679
+ (?: # (
1680
+ (?: \\ [^\x80-\xff] |
1681
+ \( # (
1682
+ [^\\\x80-\xff\n\015()] * # normal*
1683
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1684
+ \) # )
1685
+ ) # special
1686
+ [^\\\x80-\xff\n\015()] * # normal*
1687
+ )* # )*
1688
+ \) # )
1689
+ [\040\t]* )* # If comment found, allow more spaces.
1690
+ # optional trailing comments
1691
+ (?:
1692
+ \.
1693
+ [\040\t]* # Nab whitespace.
1694
+ (?:
1695
+ \( # (
1696
+ [^\\\x80-\xff\n\015()] * # normal*
1697
+ (?: # (
1698
+ (?: \\ [^\x80-\xff] |
1699
+ \( # (
1700
+ [^\\\x80-\xff\n\015()] * # normal*
1701
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1702
+ \) # )
1703
+ ) # special
1704
+ [^\\\x80-\xff\n\015()] * # normal*
1705
+ )* # )*
1706
+ \) # )
1707
+ [\040\t]* )* # If comment found, allow more spaces.
1708
+ (?:
1709
+ [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1710
+ (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1711
+ |
1712
+ \[ # [
1713
+ (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1714
+ \] # ]
1715
+ )
1716
+ [\040\t]* # Nab whitespace.
1717
+ (?:
1718
+ \( # (
1719
+ [^\\\x80-\xff\n\015()] * # normal*
1720
+ (?: # (
1721
+ (?: \\ [^\x80-\xff] |
1722
+ \( # (
1723
+ [^\\\x80-\xff\n\015()] * # normal*
1724
+ (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1725
+ \) # )
1726
+ ) # special
1727
+ [^\\\x80-\xff\n\015()] * # normal*
1728
+ )* # )*
1729
+ \) # )
1730
+ [\040\t]* )* # If comment found, allow more spaces.
1731
+ # optional trailing comments
1732
+ )*
1733
+ # address spec
1734
+ > # >
1735
+ # name and address
1736
+ )
1737
+ /x
1738
+ Alan Other <user\@dom.ain>
1739
+ <user\@dom.ain>
1740
+ user\@dom.ain
1741
+ \"A. Other\" <user.1234\@dom.ain> (a comment)
1742
+ A. Other <user.1234\@dom.ain> (a comment)
1743
+ \"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"\@x400-re.lay
1744
+ A missing angle <user\@some.where
1745
+ *** Failers
1746
+ The quick brown fox
1747
+
1748
+ /abc\0def\00pqr\000xyz\0000AB/
1749
+ abc\0def\00pqr\000xyz\0000AB
1750
+ abc456 abc\0def\00pqr\000xyz\0000ABCDE
1751
+
1752
+ /abc\x0def\x00pqr\x000xyz\x0000AB/
1753
+ abc\x0def\x00pqr\x000xyz\x0000AB
1754
+ abc456 abc\x0def\x00pqr\x000xyz\x0000ABCDE
1755
+
1756
+ /^[\000-\037]/
1757
+ \0A
1758
+ \01B
1759
+ \037C
1760
+
1761
+ /\0*/
1762
+ \0\0\0\0
1763
+
1764
+ /A\x0{2,3}Z/
1765
+ The A\x0\x0Z
1766
+ An A\0\x0\0Z
1767
+ *** Failers
1768
+ A\0Z
1769
+ A\0\x0\0\x0Z
1770
+
1771
+ /^\s/
1772
+ \040abc
1773
+ \x0cabc
1774
+ \nabc
1775
+ \rabc
1776
+ \tabc
1777
+ *** Failers
1778
+ abc
1779
+
1780
+ /^a b
1781
+ c/x
1782
+ abc
1783
+
1784
+ /ab{1,3}bc/
1785
+ abbbbc
1786
+ abbbc
1787
+ abbc
1788
+ *** Failers
1789
+ abc
1790
+ abbbbbc
1791
+
1792
+ /([^.]*)\.([^:]*):[T ]+(.*)/
1793
+ track1.title:TBlah blah blah
1794
+
1795
+ /([^.]*)\.([^:]*):[T ]+(.*)/i
1796
+ track1.title:TBlah blah blah
1797
+
1798
+ /([^.]*)\.([^:]*):[t ]+(.*)/i
1799
+ track1.title:TBlah blah blah
1800
+
1801
+ /^[W-c]+$/
1802
+ WXY_^abc
1803
+ *** Failers
1804
+ wxy
1805
+
1806
+ /^[W-c]+$/i
1807
+ WXY_^abc
1808
+ wxy_^ABC
1809
+
1810
+ /^[\x3f-\x5F]+$/i
1811
+ WXY_^abc
1812
+ wxy_^ABC
1813
+
1814
+ /^abc$/m
1815
+ abc
1816
+ qqq\nabc
1817
+ abc\nzzz
1818
+ qqq\nabc\nzzz
1819
+
1820
+ /^abc$/
1821
+ abc
1822
+ *** Failers
1823
+ qqq\nabc
1824
+ abc\nzzz
1825
+ qqq\nabc\nzzz
1826
+
1827
+ /\Aabc\Z/m
1828
+ abc
1829
+ abc\n
1830
+ *** Failers
1831
+ qqq\nabc
1832
+ abc\nzzz
1833
+ qqq\nabc\nzzz
1834
+
1835
+ /\A(.)*\Z/s
1836
+ abc\ndef
1837
+
1838
+ /\A(.)*\Z/m
1839
+ *** Failers
1840
+ abc\ndef
1841
+
1842
+ /(?:b)|(?::+)/
1843
+ b::c
1844
+ c::b
1845
+
1846
+ /[-az]+/
1847
+ az-
1848
+ *** Failers
1849
+ b
1850
+
1851
+ /[az-]+/
1852
+ za-
1853
+ *** Failers
1854
+ b
1855
+
1856
+ /[a\-z]+/
1857
+ a-z
1858
+ *** Failers
1859
+ b
1860
+
1861
+ /[a-z]+/
1862
+ abcdxyz
1863
+
1864
+ /[\d-]+/
1865
+ 12-34
1866
+ *** Failers
1867
+ aaa
1868
+
1869
+ /[\d-z]+/
1870
+ 12-34z
1871
+ *** Failers
1872
+ aaa
1873
+
1874
+ /\x5c/
1875
+ \\
1876
+
1877
+ /\x20Z/
1878
+ the Zoo
1879
+ *** Failers
1880
+ Zulu
1881
+
1882
+ /ab{3cd/
1883
+ ab{3cd
1884
+
1885
+ /ab{3,cd/
1886
+ ab{3,cd
1887
+
1888
+ /ab{3,4a}cd/
1889
+ ab{3,4a}cd
1890
+
1891
+ /{4,5a}bc/
1892
+ {4,5a}bc
1893
+
1894
+ /^a.b/<lf>
1895
+ a\rb
1896
+ *** Failers
1897
+ a\nb
1898
+
1899
+ /abc$/
1900
+ abc
1901
+ abc\n
1902
+ *** Failers
1903
+ abc\ndef
1904
+
1905
+ /(abc)\123/
1906
+ abc\x53
1907
+
1908
+ /(abc)\223/
1909
+ abc\x93
1910
+
1911
+ /(abc)\323/
1912
+ abc\xd3
1913
+
1914
+ /(abc)\100/
1915
+ abc\x40
1916
+ abc\100
1917
+
1918
+ /(abc)\1000/
1919
+ abc\x400
1920
+ abc\x40\x30
1921
+ abc\1000
1922
+ abc\100\x30
1923
+ abc\100\060
1924
+ abc\100\60
1925
+
1926
+ /abc\81/
1927
+ abc\081
1928
+ abc\0\x38\x31
1929
+
1930
+ /abc\91/
1931
+ abc\091
1932
+ abc\0\x39\x31
1933
+
1934
+ /(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12\123/
1935
+ abcdefghijk\12S
1936
+
1937
+ /ab\idef/
1938
+ abidef
1939
+
1940
+ /a{0}bc/
1941
+ bc
1942
+
1943
+ /(a|(bc)){0,0}?xyz/
1944
+ xyz
1945
+
1946
+ /abc[\10]de/
1947
+ abc\010de
1948
+
1949
+ /abc[\1]de/
1950
+ abc\1de
1951
+
1952
+ /(abc)[\1]de/
1953
+ abc\1de
1954
+
1955
+ /(?s)a.b/
1956
+ a\nb
1957
+
1958
+ /^([^a])([^\b])([^c]*)([^d]{3,4})/
1959
+ baNOTccccd
1960
+ baNOTcccd
1961
+ baNOTccd
1962
+ bacccd
1963
+ *** Failers
1964
+ anything
1965
+ b\bc
1966
+ baccd
1967
+
1968
+ /[^a]/
1969
+ Abc
1970
+
1971
+ /[^a]/i
1972
+ Abc
1973
+
1974
+ /[^a]+/
1975
+ AAAaAbc
1976
+
1977
+ /[^a]+/i
1978
+ AAAaAbc
1979
+
1980
+ /[^a]+/
1981
+ bbb\nccc
1982
+
1983
+ /[^k]$/
1984
+ abc
1985
+ *** Failers
1986
+ abk
1987
+
1988
+ /[^k]{2,3}$/
1989
+ abc
1990
+ kbc
1991
+ kabc
1992
+ *** Failers
1993
+ abk
1994
+ akb
1995
+ akk
1996
+
1997
+ /^\d{8,}\@.+[^k]$/
1998
+ 12345678\@a.b.c.d
1999
+ 123456789\@x.y.z
2000
+ *** Failers
2001
+ 12345678\@x.y.uk
2002
+ 1234567\@a.b.c.d
2003
+
2004
+ /[^a]/
2005
+ aaaabcd
2006
+ aaAabcd
2007
+
2008
+ /[^a]/i
2009
+ aaaabcd
2010
+ aaAabcd
2011
+
2012
+ /[^az]/
2013
+ aaaabcd
2014
+ aaAabcd
2015
+
2016
+ /[^az]/i
2017
+ aaaabcd
2018
+ aaAabcd
2019
+
2020
+ /\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377/
2021
+ \000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377
2022
+
2023
+ /P[^*]TAIRE[^*]{1,6}?LL/
2024
+ xxxxxxxxxxxPSTAIREISLLxxxxxxxxx
2025
+
2026
+ /P[^*]TAIRE[^*]{1,}?LL/
2027
+ xxxxxxxxxxxPSTAIREISLLxxxxxxxxx
2028
+
2029
+ /(\.\d\d[1-9]?)\d+/
2030
+ 1.230003938
2031
+ 1.875000282
2032
+ 1.235
2033
+
2034
+ /(\.\d\d((?=0)|\d(?=\d)))/
2035
+ 1.230003938
2036
+ 1.875000282
2037
+ *** Failers
2038
+ 1.235
2039
+
2040
+ /a(?)b/
2041
+ ab
2042
+
2043
+ /\b(foo)\s+(\w+)/i
2044
+ Food is on the foo table
2045
+
2046
+ /foo(.*)bar/
2047
+ The food is under the bar in the barn.
2048
+
2049
+ /foo(.*?)bar/
2050
+ The food is under the bar in the barn.
2051
+
2052
+ /(.*)(\d*)/
2053
+ I have 2 numbers: 53147
2054
+
2055
+ /(.*)(\d+)/
2056
+ I have 2 numbers: 53147
2057
+
2058
+ /(.*?)(\d*)/
2059
+ I have 2 numbers: 53147
2060
+
2061
+ /(.*?)(\d+)/
2062
+ I have 2 numbers: 53147
2063
+
2064
+ /(.*)(\d+)$/
2065
+ I have 2 numbers: 53147
2066
+
2067
+ /(.*?)(\d+)$/
2068
+ I have 2 numbers: 53147
2069
+
2070
+ /(.*)\b(\d+)$/
2071
+ I have 2 numbers: 53147
2072
+
2073
+ /(.*\D)(\d+)$/
2074
+ I have 2 numbers: 53147
2075
+
2076
+ /^\D*(?!123)/
2077
+ ABC123
2078
+
2079
+ /^(\D*)(?=\d)(?!123)/
2080
+ ABC445
2081
+ *** Failers
2082
+ ABC123
2083
+
2084
+ /^[W-]46]/
2085
+ W46]789
2086
+ -46]789
2087
+ *** Failers
2088
+ Wall
2089
+ Zebra
2090
+ 42
2091
+ [abcd]
2092
+ ]abcd[
2093
+
2094
+ /^[W-\]46]/
2095
+ W46]789
2096
+ Wall
2097
+ Zebra
2098
+ Xylophone
2099
+ 42
2100
+ [abcd]
2101
+ ]abcd[
2102
+ \\backslash
2103
+ *** Failers
2104
+ -46]789
2105
+ well
2106
+
2107
+ /\d\d\/\d\d\/\d\d\d\d/
2108
+ 01/01/2000
2109
+
2110
+ /word (?:[a-zA-Z0-9]+ ){0,10}otherword/
2111
+ word cat dog elephant mussel cow horse canary baboon snake shark otherword
2112
+ word cat dog elephant mussel cow horse canary baboon snake shark
2113
+
2114
+ /word (?:[a-zA-Z0-9]+ ){0,300}otherword/
2115
+ word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope
2116
+
2117
+ /^(a){0,0}/
2118
+ bcd
2119
+ abc
2120
+ aab
2121
+
2122
+ /^(a){0,1}/
2123
+ bcd
2124
+ abc
2125
+ aab
2126
+
2127
+ /^(a){0,2}/
2128
+ bcd
2129
+ abc
2130
+ aab
2131
+
2132
+ /^(a){0,3}/
2133
+ bcd
2134
+ abc
2135
+ aab
2136
+ aaa
2137
+
2138
+ /^(a){0,}/
2139
+ bcd
2140
+ abc
2141
+ aab
2142
+ aaa
2143
+ aaaaaaaa
2144
+
2145
+ /^(a){1,1}/
2146
+ bcd
2147
+ abc
2148
+ aab
2149
+
2150
+ /^(a){1,2}/
2151
+ bcd
2152
+ abc
2153
+ aab
2154
+
2155
+ /^(a){1,3}/
2156
+ bcd
2157
+ abc
2158
+ aab
2159
+ aaa
2160
+
2161
+ /^(a){1,}/
2162
+ bcd
2163
+ abc
2164
+ aab
2165
+ aaa
2166
+ aaaaaaaa
2167
+
2168
+ /.*\.gif/
2169
+ borfle\nbib.gif\nno
2170
+
2171
+ /.{0,}\.gif/
2172
+ borfle\nbib.gif\nno
2173
+
2174
+ /.*\.gif/m
2175
+ borfle\nbib.gif\nno
2176
+
2177
+ /.*\.gif/s
2178
+ borfle\nbib.gif\nno
2179
+
2180
+ /.*\.gif/ms
2181
+ borfle\nbib.gif\nno
2182
+
2183
+ /.*$/
2184
+ borfle\nbib.gif\nno
2185
+
2186
+ /.*$/m
2187
+ borfle\nbib.gif\nno
2188
+
2189
+ /.*$/s
2190
+ borfle\nbib.gif\nno
2191
+
2192
+ /.*$/ms
2193
+ borfle\nbib.gif\nno
2194
+
2195
+ /.*$/
2196
+ borfle\nbib.gif\nno\n
2197
+
2198
+ /.*$/m
2199
+ borfle\nbib.gif\nno\n
2200
+
2201
+ /.*$/s
2202
+ borfle\nbib.gif\nno\n
2203
+
2204
+ /.*$/ms
2205
+ borfle\nbib.gif\nno\n
2206
+
2207
+ /(.*X|^B)/
2208
+ abcde\n1234Xyz
2209
+ BarFoo
2210
+ *** Failers
2211
+ abcde\nBar
2212
+
2213
+ /(.*X|^B)/m
2214
+ abcde\n1234Xyz
2215
+ BarFoo
2216
+ abcde\nBar
2217
+
2218
+ /(.*X|^B)/s
2219
+ abcde\n1234Xyz
2220
+ BarFoo
2221
+ *** Failers
2222
+ abcde\nBar
2223
+
2224
+ /(.*X|^B)/ms
2225
+ abcde\n1234Xyz
2226
+ BarFoo
2227
+ abcde\nBar
2228
+
2229
+ /(?s)(.*X|^B)/
2230
+ abcde\n1234Xyz
2231
+ BarFoo
2232
+ *** Failers
2233
+ abcde\nBar
2234
+
2235
+ /(?s:.*X|^B)/
2236
+ abcde\n1234Xyz
2237
+ BarFoo
2238
+ *** Failers
2239
+ abcde\nBar
2240
+
2241
+ /^.*B/
2242
+ **** Failers
2243
+ abc\nB
2244
+
2245
+ /(?s)^.*B/
2246
+ abc\nB
2247
+
2248
+ /(?m)^.*B/
2249
+ abc\nB
2250
+
2251
+ /(?ms)^.*B/
2252
+ abc\nB
2253
+
2254
+ /(?ms)^B/
2255
+ abc\nB
2256
+
2257
+ /(?s)B$/
2258
+ B\n
2259
+
2260
+ /^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/
2261
+ 123456654321
2262
+
2263
+ /^\d\d\d\d\d\d\d\d\d\d\d\d/
2264
+ 123456654321
2265
+
2266
+ /^[\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d]/
2267
+ 123456654321
2268
+
2269
+ /^[abc]{12}/
2270
+ abcabcabcabc
2271
+
2272
+ /^[a-c]{12}/
2273
+ abcabcabcabc
2274
+
2275
+ /^(a|b|c){12}/
2276
+ abcabcabcabc
2277
+
2278
+ /^[abcdefghijklmnopqrstuvwxy0123456789]/
2279
+ n
2280
+ *** Failers
2281
+ z
2282
+
2283
+ /abcde{0,0}/
2284
+ abcd
2285
+ *** Failers
2286
+ abce
2287
+
2288
+ /ab[cd]{0,0}e/
2289
+ abe
2290
+ *** Failers
2291
+ abcde
2292
+
2293
+ /ab(c){0,0}d/
2294
+ abd
2295
+ *** Failers
2296
+ abcd
2297
+
2298
+ /a(b*)/
2299
+ a
2300
+ ab
2301
+ abbbb
2302
+ *** Failers
2303
+ bbbbb
2304
+
2305
+ /ab\d{0}e/
2306
+ abe
2307
+ *** Failers
2308
+ ab1e
2309
+
2310
+ /"([^\\"]+|\\.)*"/
2311
+ the \"quick\" brown fox
2312
+ \"the \\\"quick\\\" brown fox\"
2313
+
2314
+ /.*?/g+
2315
+ abc
2316
+
2317
+ /\b/g+
2318
+ abc
2319
+
2320
+ /\b/+g
2321
+ abc
2322
+
2323
+ //g
2324
+ abc
2325
+
2326
+ /<tr([\w\W\s\d][^<>]{0,})><TD([\w\W\s\d][^<>]{0,})>([\d]{0,}\.)(.*)((<BR>([\w\W\s\d][^<>]{0,})|[\s]{0,}))<\/a><\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><\/TR>/is
2327
+ <TR BGCOLOR='#DBE9E9'><TD align=left valign=top>43.<a href='joblist.cfm?JobID=94 6735&Keyword='>Word Processor<BR>(N-1286)</a></TD><TD align=left valign=top>Lega lstaff.com</TD><TD align=left valign=top>CA - Statewide</TD></TR>
2328
+
2329
+ /a[^a]b/
2330
+ acb
2331
+ a\nb
2332
+
2333
+ /a.b/
2334
+ acb
2335
+ *** Failers
2336
+ a\nb
2337
+
2338
+ /a[^a]b/s
2339
+ acb
2340
+ a\nb
2341
+
2342
+ /a.b/s
2343
+ acb
2344
+ a\nb
2345
+
2346
+ /^(b+?|a){1,2}?c/
2347
+ bac
2348
+ bbac
2349
+ bbbac
2350
+ bbbbac
2351
+ bbbbbac
2352
+
2353
+ /^(b+|a){1,2}?c/
2354
+ bac
2355
+ bbac
2356
+ bbbac
2357
+ bbbbac
2358
+ bbbbbac
2359
+
2360
+ /(?!\A)x/m
2361
+ x\nb\n
2362
+ a\bx\n
2363
+
2364
+ /\x0{ab}/
2365
+ \0{ab}
2366
+
2367
+ /(A|B)*?CD/
2368
+ CD
2369
+
2370
+ /(A|B)*CD/
2371
+ CD
2372
+
2373
+ /(?<!bar)foo/
2374
+ foo
2375
+ catfood
2376
+ arfootle
2377
+ rfoosh
2378
+ *** Failers
2379
+ barfoo
2380
+ towbarfoo
2381
+
2382
+ /\w{3}(?<!bar)foo/
2383
+ catfood
2384
+ *** Failers
2385
+ foo
2386
+ barfoo
2387
+ towbarfoo
2388
+
2389
+ /(?<=(foo)a)bar/
2390
+ fooabar
2391
+ *** Failers
2392
+ bar
2393
+ foobbar
2394
+
2395
+ /\Aabc\z/m
2396
+ abc
2397
+ *** Failers
2398
+ abc\n
2399
+ qqq\nabc
2400
+ abc\nzzz
2401
+ qqq\nabc\nzzz
2402
+
2403
+ "(?>.*/)foo"
2404
+ /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/it/you/see/
2405
+
2406
+ "(?>.*/)foo"
2407
+ /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo
2408
+
2409
+ /(?>(\.\d\d[1-9]?))\d+/
2410
+ 1.230003938
2411
+ 1.875000282
2412
+ *** Failers
2413
+ 1.235
2414
+
2415
+ /^((?>\w+)|(?>\s+))*$/
2416
+ now is the time for all good men to come to the aid of the party
2417
+ *** Failers
2418
+ this is not a line with only words and spaces!
2419
+
2420
+ /(\d+)(\w)/
2421
+ 12345a
2422
+ 12345+
2423
+
2424
+ /((?>\d+))(\w)/
2425
+ 12345a
2426
+ *** Failers
2427
+ 12345+
2428
+
2429
+ /(?>a+)b/
2430
+ aaab
2431
+
2432
+ /((?>a+)b)/
2433
+ aaab
2434
+
2435
+ /(?>(a+))b/
2436
+ aaab
2437
+
2438
+ /(?>b)+/
2439
+ aaabbbccc
2440
+
2441
+ /(?>a+|b+|c+)*c/
2442
+ aaabbbbccccd
2443
+
2444
+ /(a+|b+|c+)*c/
2445
+ aaabbbbccccd
2446
+
2447
+ /((?>[^()]+)|\([^()]*\))+/
2448
+ ((abc(ade)ufh()()x
2449
+
2450
+ /\(((?>[^()]+)|\([^()]+\))+\)/
2451
+ (abc)
2452
+ (abc(def)xyz)
2453
+ *** Failers
2454
+ ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
2455
+
2456
+ /a(?-i)b/i
2457
+ ab
2458
+ Ab
2459
+ *** Failers
2460
+ aB
2461
+ AB
2462
+
2463
+ /(a (?x)b c)d e/
2464
+ a bcd e
2465
+ *** Failers
2466
+ a b cd e
2467
+ abcd e
2468
+ a bcde
2469
+
2470
+ /(a b(?x)c d (?-x)e f)/
2471
+ a bcde f
2472
+ *** Failers
2473
+ abcdef
2474
+
2475
+ /(a(?i)b)c/
2476
+ abc
2477
+ aBc
2478
+ *** Failers
2479
+ abC
2480
+ aBC
2481
+ Abc
2482
+ ABc
2483
+ ABC
2484
+ AbC
2485
+
2486
+ /a(?i:b)c/
2487
+ abc
2488
+ aBc
2489
+ *** Failers
2490
+ ABC
2491
+ abC
2492
+ aBC
2493
+
2494
+ /a(?i:b)*c/
2495
+ aBc
2496
+ aBBc
2497
+ *** Failers
2498
+ aBC
2499
+ aBBC
2500
+
2501
+ /a(?=b(?i)c)\w\wd/
2502
+ abcd
2503
+ abCd
2504
+ *** Failers
2505
+ aBCd
2506
+ abcD
2507
+
2508
+ /(?s-i:more.*than).*million/i
2509
+ more than million
2510
+ more than MILLION
2511
+ more \n than Million
2512
+ *** Failers
2513
+ MORE THAN MILLION
2514
+ more \n than \n million
2515
+
2516
+ /(?:(?s-i)more.*than).*million/i
2517
+ more than million
2518
+ more than MILLION
2519
+ more \n than Million
2520
+ *** Failers
2521
+ MORE THAN MILLION
2522
+ more \n than \n million
2523
+
2524
+ /(?>a(?i)b+)+c/
2525
+ abc
2526
+ aBbc
2527
+ aBBc
2528
+ *** Failers
2529
+ Abc
2530
+ abAb
2531
+ abbC
2532
+
2533
+ /(?=a(?i)b)\w\wc/
2534
+ abc
2535
+ aBc
2536
+ *** Failers
2537
+ Ab
2538
+ abC
2539
+ aBC
2540
+
2541
+ /(?<=a(?i)b)(\w\w)c/
2542
+ abxxc
2543
+ aBxxc
2544
+ *** Failers
2545
+ Abxxc
2546
+ ABxxc
2547
+ abxxC
2548
+
2549
+ /^(?(?=abc)\w{3}:|\d\d)$/
2550
+ abc:
2551
+ 12
2552
+ *** Failers
2553
+ 123
2554
+ xyz
2555
+
2556
+ /^(?(?!abc)\d\d|\w{3}:)$/
2557
+ abc:
2558
+ 12
2559
+ *** Failers
2560
+ 123
2561
+ xyz
2562
+
2563
+ /(?(?<=foo)bar|cat)/
2564
+ foobar
2565
+ cat
2566
+ fcat
2567
+ focat
2568
+ *** Failers
2569
+ foocat
2570
+
2571
+ /(?(?<!foo)cat|bar)/
2572
+ foobar
2573
+ cat
2574
+ fcat
2575
+ focat
2576
+ *** Failers
2577
+ foocat
2578
+
2579
+ /(?>a*)*/
2580
+ a
2581
+ aa
2582
+ aaaa
2583
+
2584
+ /(abc|)+/
2585
+ abc
2586
+ abcabc
2587
+ abcabcabc
2588
+ xyz
2589
+
2590
+ /([a]*)*/
2591
+ a
2592
+ aaaaa
2593
+
2594
+ /([ab]*)*/
2595
+ a
2596
+ b
2597
+ ababab
2598
+ aaaabcde
2599
+ bbbb
2600
+
2601
+ /([^a]*)*/
2602
+ b
2603
+ bbbb
2604
+ aaa
2605
+
2606
+ /([^ab]*)*/
2607
+ cccc
2608
+ abab
2609
+
2610
+ /([a]*?)*/
2611
+ a
2612
+ aaaa
2613
+
2614
+ /([ab]*?)*/
2615
+ a
2616
+ b
2617
+ abab
2618
+ baba
2619
+
2620
+ /([^a]*?)*/
2621
+ b
2622
+ bbbb
2623
+ aaa
2624
+
2625
+ /([^ab]*?)*/
2626
+ c
2627
+ cccc
2628
+ baba
2629
+
2630
+ /(?>a*)*/
2631
+ a
2632
+ aaabcde
2633
+
2634
+ /((?>a*))*/
2635
+ aaaaa
2636
+ aabbaa
2637
+
2638
+ /((?>a*?))*/
2639
+ aaaaa
2640
+ aabbaa
2641
+
2642
+ /(?(?=[^a-z]+[a-z]) \d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} ) /x
2643
+ 12-sep-98
2644
+ 12-09-98
2645
+ *** Failers
2646
+ sep-12-98
2647
+
2648
+ /(?i:saturday|sunday)/
2649
+ saturday
2650
+ sunday
2651
+ Saturday
2652
+ Sunday
2653
+ SATURDAY
2654
+ SUNDAY
2655
+ SunDay
2656
+
2657
+ /(a(?i)bc|BB)x/
2658
+ abcx
2659
+ aBCx
2660
+ bbx
2661
+ BBx
2662
+ *** Failers
2663
+ abcX
2664
+ aBCX
2665
+ bbX
2666
+ BBX
2667
+
2668
+ /^([ab](?i)[cd]|[ef])/
2669
+ ac
2670
+ aC
2671
+ bD
2672
+ elephant
2673
+ Europe
2674
+ frog
2675
+ France
2676
+ *** Failers
2677
+ Africa
2678
+
2679
+ /^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)/
2680
+ ab
2681
+ aBd
2682
+ xy
2683
+ xY
2684
+ zebra
2685
+ Zambesi
2686
+ *** Failers
2687
+ aCD
2688
+ XY
2689
+
2690
+ /(?<=foo\n)^bar/m
2691
+ foo\nbar
2692
+ *** Failers
2693
+ bar
2694
+ baz\nbar
2695
+
2696
+ /(?<=(?<!foo)bar)baz/
2697
+ barbaz
2698
+ barbarbaz
2699
+ koobarbaz
2700
+ *** Failers
2701
+ baz
2702
+ foobarbaz
2703
+
2704
+ /The following tests are taken from the Perl 5.005 test suite; some of them/
2705
+ /are compatible with 5.004, but I'd rather not have to sort them out./
2706
+
2707
+ /abc/
2708
+ abc
2709
+ xabcy
2710
+ ababc
2711
+ *** Failers
2712
+ xbc
2713
+ axc
2714
+ abx
2715
+
2716
+ /ab*c/
2717
+ abc
2718
+
2719
+ /ab*bc/
2720
+ abc
2721
+ abbc
2722
+ abbbbc
2723
+
2724
+ /.{1}/
2725
+ abbbbc
2726
+
2727
+ /.{3,4}/
2728
+ abbbbc
2729
+
2730
+ /ab{0,}bc/
2731
+ abbbbc
2732
+
2733
+ /ab+bc/
2734
+ abbc
2735
+ *** Failers
2736
+ abc
2737
+ abq
2738
+
2739
+ /ab+bc/
2740
+ abbbbc
2741
+
2742
+ /ab{1,}bc/
2743
+ abbbbc
2744
+
2745
+ /ab{1,3}bc/
2746
+ abbbbc
2747
+
2748
+ /ab{3,4}bc/
2749
+ abbbbc
2750
+
2751
+ /ab{4,5}bc/
2752
+ *** Failers
2753
+ abq
2754
+ abbbbc
2755
+
2756
+ /ab?bc/
2757
+ abbc
2758
+ abc
2759
+
2760
+ /ab{0,1}bc/
2761
+ abc
2762
+
2763
+ /ab?bc/
2764
+
2765
+ /ab?c/
2766
+ abc
2767
+
2768
+ /ab{0,1}c/
2769
+ abc
2770
+
2771
+ /^abc$/
2772
+ abc
2773
+ *** Failers
2774
+ abbbbc
2775
+ abcc
2776
+
2777
+ /^abc/
2778
+ abcc
2779
+
2780
+ /^abc$/
2781
+
2782
+ /abc$/
2783
+ aabc
2784
+ *** Failers
2785
+ aabc
2786
+ aabcd
2787
+
2788
+ /^/
2789
+ abc
2790
+
2791
+ /$/
2792
+ abc
2793
+
2794
+ /a.c/
2795
+ abc
2796
+ axc
2797
+
2798
+ /a.*c/
2799
+ axyzc
2800
+
2801
+ /a[bc]d/
2802
+ abd
2803
+ *** Failers
2804
+ axyzd
2805
+ abc
2806
+
2807
+ /a[b-d]e/
2808
+ ace
2809
+
2810
+ /a[b-d]/
2811
+ aac
2812
+
2813
+ /a[-b]/
2814
+ a-
2815
+
2816
+ /a[b-]/
2817
+ a-
2818
+
2819
+ /a]/
2820
+ a]
2821
+
2822
+ /a[]]b/
2823
+ a]b
2824
+
2825
+ /a[^bc]d/
2826
+ aed
2827
+ *** Failers
2828
+ abd
2829
+ abd
2830
+
2831
+ /a[^-b]c/
2832
+ adc
2833
+
2834
+ /a[^]b]c/
2835
+ adc
2836
+ *** Failers
2837
+ a-c
2838
+ a]c
2839
+
2840
+ /\ba\b/
2841
+ a-
2842
+ -a
2843
+ -a-
2844
+
2845
+ /\by\b/
2846
+ *** Failers
2847
+ xy
2848
+ yz
2849
+ xyz
2850
+
2851
+ /\Ba\B/
2852
+ *** Failers
2853
+ a-
2854
+ -a
2855
+ -a-
2856
+
2857
+ /\By\b/
2858
+ xy
2859
+
2860
+ /\by\B/
2861
+ yz
2862
+
2863
+ /\By\B/
2864
+ xyz
2865
+
2866
+ /\w/
2867
+ a
2868
+
2869
+ /\W/
2870
+ -
2871
+ *** Failers
2872
+ -
2873
+ a
2874
+
2875
+ /a\sb/
2876
+ a b
2877
+
2878
+ /a\Sb/
2879
+ a-b
2880
+ *** Failers
2881
+ a-b
2882
+ a b
2883
+
2884
+ /\d/
2885
+ 1
2886
+
2887
+ /\D/
2888
+ -
2889
+ *** Failers
2890
+ -
2891
+ 1
2892
+
2893
+ /[\w]/
2894
+ a
2895
+
2896
+ /[\W]/
2897
+ -
2898
+ *** Failers
2899
+ -
2900
+ a
2901
+
2902
+ /a[\s]b/
2903
+ a b
2904
+
2905
+ /a[\S]b/
2906
+ a-b
2907
+ *** Failers
2908
+ a-b
2909
+ a b
2910
+
2911
+ /[\d]/
2912
+ 1
2913
+
2914
+ /[\D]/
2915
+ -
2916
+ *** Failers
2917
+ -
2918
+ 1
2919
+
2920
+ /ab|cd/
2921
+ abc
2922
+ abcd
2923
+
2924
+ /()ef/
2925
+ def
2926
+
2927
+ /$b/
2928
+
2929
+ /a\(b/
2930
+ a(b
2931
+
2932
+ /a\(*b/
2933
+ ab
2934
+ a((b
2935
+
2936
+ /a\\b/
2937
+ a\b
2938
+
2939
+ /((a))/
2940
+ abc
2941
+
2942
+ /(a)b(c)/
2943
+ abc
2944
+
2945
+ /a+b+c/
2946
+ aabbabc
2947
+
2948
+ /a{1,}b{1,}c/
2949
+ aabbabc
2950
+
2951
+ /a.+?c/
2952
+ abcabc
2953
+
2954
+ /(a+|b)*/
2955
+ ab
2956
+
2957
+ /(a+|b){0,}/
2958
+ ab
2959
+
2960
+ /(a+|b)+/
2961
+ ab
2962
+
2963
+ /(a+|b){1,}/
2964
+ ab
2965
+
2966
+ /(a+|b)?/
2967
+ ab
2968
+
2969
+ /(a+|b){0,1}/
2970
+ ab
2971
+
2972
+ /[^ab]*/
2973
+ cde
2974
+
2975
+ /abc/
2976
+ *** Failers
2977
+ b
2978
+
2979
+
2980
+ /a*/
2981
+
2982
+
2983
+ /([abc])*d/
2984
+ abbbcd
2985
+
2986
+ /([abc])*bcd/
2987
+ abcd
2988
+
2989
+ /a|b|c|d|e/
2990
+ e
2991
+
2992
+ /(a|b|c|d|e)f/
2993
+ ef
2994
+
2995
+ /abcd*efg/
2996
+ abcdefg
2997
+
2998
+ /ab*/
2999
+ xabyabbbz
3000
+ xayabbbz
3001
+
3002
+ /(ab|cd)e/
3003
+ abcde
3004
+
3005
+ /[abhgefdc]ij/
3006
+ hij
3007
+
3008
+ /^(ab|cd)e/
3009
+
3010
+ /(abc|)ef/
3011
+ abcdef
3012
+
3013
+ /(a|b)c*d/
3014
+ abcd
3015
+
3016
+ /(ab|ab*)bc/
3017
+ abc
3018
+
3019
+ /a([bc]*)c*/
3020
+ abc
3021
+
3022
+ /a([bc]*)(c*d)/
3023
+ abcd
3024
+
3025
+ /a([bc]+)(c*d)/
3026
+ abcd
3027
+
3028
+ /a([bc]*)(c+d)/
3029
+ abcd
3030
+
3031
+ /a[bcd]*dcdcde/
3032
+ adcdcde
3033
+
3034
+ /a[bcd]+dcdcde/
3035
+ *** Failers
3036
+ abcde
3037
+ adcdcde
3038
+
3039
+ /(ab|a)b*c/
3040
+ abc
3041
+
3042
+ /((a)(b)c)(d)/
3043
+ abcd
3044
+
3045
+ /[a-zA-Z_][a-zA-Z0-9_]*/
3046
+ alpha
3047
+
3048
+ /^a(bc+|b[eh])g|.h$/
3049
+ abh
3050
+
3051
+ /(bc+d$|ef*g.|h?i(j|k))/
3052
+ effgz
3053
+ ij
3054
+ reffgz
3055
+ *** Failers
3056
+ effg
3057
+ bcdd
3058
+
3059
+ /((((((((((a))))))))))/
3060
+ a
3061
+
3062
+ /(((((((((a)))))))))/
3063
+ a
3064
+
3065
+ /multiple words of text/
3066
+ *** Failers
3067
+ aa
3068
+ uh-uh
3069
+
3070
+ /multiple words/
3071
+ multiple words, yeah
3072
+
3073
+ /(.*)c(.*)/
3074
+ abcde
3075
+
3076
+ /\((.*), (.*)\)/
3077
+ (a, b)
3078
+
3079
+ /[k]/
3080
+
3081
+ /abcd/
3082
+ abcd
3083
+
3084
+ /a(bc)d/
3085
+ abcd
3086
+
3087
+ /a[-]?c/
3088
+ ac
3089
+
3090
+ /abc/i
3091
+ ABC
3092
+ XABCY
3093
+ ABABC
3094
+ *** Failers
3095
+ aaxabxbaxbbx
3096
+ XBC
3097
+ AXC
3098
+ ABX
3099
+
3100
+ /ab*c/i
3101
+ ABC
3102
+
3103
+ /ab*bc/i
3104
+ ABC
3105
+ ABBC
3106
+
3107
+ /ab*?bc/i
3108
+ ABBBBC
3109
+
3110
+ /ab{0,}?bc/i
3111
+ ABBBBC
3112
+
3113
+ /ab+?bc/i
3114
+ ABBC
3115
+
3116
+ /ab+bc/i
3117
+ *** Failers
3118
+ ABC
3119
+ ABQ
3120
+
3121
+ /ab{1,}bc/i
3122
+
3123
+ /ab+bc/i
3124
+ ABBBBC
3125
+
3126
+ /ab{1,}?bc/i
3127
+ ABBBBC
3128
+
3129
+ /ab{1,3}?bc/i
3130
+ ABBBBC
3131
+
3132
+ /ab{3,4}?bc/i
3133
+ ABBBBC
3134
+
3135
+ /ab{4,5}?bc/i
3136
+ *** Failers
3137
+ ABQ
3138
+ ABBBBC
3139
+
3140
+ /ab??bc/i
3141
+ ABBC
3142
+ ABC
3143
+
3144
+ /ab{0,1}?bc/i
3145
+ ABC
3146
+
3147
+ /ab??bc/i
3148
+
3149
+ /ab??c/i
3150
+ ABC
3151
+
3152
+ /ab{0,1}?c/i
3153
+ ABC
3154
+
3155
+ /^abc$/i
3156
+ ABC
3157
+ *** Failers
3158
+ ABBBBC
3159
+ ABCC
3160
+
3161
+ /^abc/i
3162
+ ABCC
3163
+
3164
+ /^abc$/i
3165
+
3166
+ /abc$/i
3167
+ AABC
3168
+
3169
+ /^/i
3170
+ ABC
3171
+
3172
+ /$/i
3173
+ ABC
3174
+
3175
+ /a.c/i
3176
+ ABC
3177
+ AXC
3178
+
3179
+ /a.*?c/i
3180
+ AXYZC
3181
+
3182
+ /a.*c/i
3183
+ *** Failers
3184
+ AABC
3185
+ AXYZD
3186
+
3187
+ /a[bc]d/i
3188
+ ABD
3189
+
3190
+ /a[b-d]e/i
3191
+ ACE
3192
+ *** Failers
3193
+ ABC
3194
+ ABD
3195
+
3196
+ /a[b-d]/i
3197
+ AAC
3198
+
3199
+ /a[-b]/i
3200
+ A-
3201
+
3202
+ /a[b-]/i
3203
+ A-
3204
+
3205
+ /a]/i
3206
+ A]
3207
+
3208
+ /a[]]b/i
3209
+ A]B
3210
+
3211
+ /a[^bc]d/i
3212
+ AED
3213
+
3214
+ /a[^-b]c/i
3215
+ ADC
3216
+ *** Failers
3217
+ ABD
3218
+ A-C
3219
+
3220
+ /a[^]b]c/i
3221
+ ADC
3222
+
3223
+ /ab|cd/i
3224
+ ABC
3225
+ ABCD
3226
+
3227
+ /()ef/i
3228
+ DEF
3229
+
3230
+ /$b/i
3231
+ *** Failers
3232
+ A]C
3233
+ B
3234
+
3235
+ /a\(b/i
3236
+ A(B
3237
+
3238
+ /a\(*b/i
3239
+ AB
3240
+ A((B
3241
+
3242
+ /a\\b/i
3243
+ A\B
3244
+
3245
+ /((a))/i
3246
+ ABC
3247
+
3248
+ /(a)b(c)/i
3249
+ ABC
3250
+
3251
+ /a+b+c/i
3252
+ AABBABC
3253
+
3254
+ /a{1,}b{1,}c/i
3255
+ AABBABC
3256
+
3257
+ /a.+?c/i
3258
+ ABCABC
3259
+
3260
+ /a.*?c/i
3261
+ ABCABC
3262
+
3263
+ /a.{0,5}?c/i
3264
+ ABCABC
3265
+
3266
+ /(a+|b)*/i
3267
+ AB
3268
+
3269
+ /(a+|b){0,}/i
3270
+ AB
3271
+
3272
+ /(a+|b)+/i
3273
+ AB
3274
+
3275
+ /(a+|b){1,}/i
3276
+ AB
3277
+
3278
+ /(a+|b)?/i
3279
+ AB
3280
+
3281
+ /(a+|b){0,1}/i
3282
+ AB
3283
+
3284
+ /(a+|b){0,1}?/i
3285
+ AB
3286
+
3287
+ /[^ab]*/i
3288
+ CDE
3289
+
3290
+ /abc/i
3291
+
3292
+ /a*/i
3293
+
3294
+
3295
+ /([abc])*d/i
3296
+ ABBBCD
3297
+
3298
+ /([abc])*bcd/i
3299
+ ABCD
3300
+
3301
+ /a|b|c|d|e/i
3302
+ E
3303
+
3304
+ /(a|b|c|d|e)f/i
3305
+ EF
3306
+
3307
+ /abcd*efg/i
3308
+ ABCDEFG
3309
+
3310
+ /ab*/i
3311
+ XABYABBBZ
3312
+ XAYABBBZ
3313
+
3314
+ /(ab|cd)e/i
3315
+ ABCDE
3316
+
3317
+ /[abhgefdc]ij/i
3318
+ HIJ
3319
+
3320
+ /^(ab|cd)e/i
3321
+ ABCDE
3322
+
3323
+ /(abc|)ef/i
3324
+ ABCDEF
3325
+
3326
+ /(a|b)c*d/i
3327
+ ABCD
3328
+
3329
+ /(ab|ab*)bc/i
3330
+ ABC
3331
+
3332
+ /a([bc]*)c*/i
3333
+ ABC
3334
+
3335
+ /a([bc]*)(c*d)/i
3336
+ ABCD
3337
+
3338
+ /a([bc]+)(c*d)/i
3339
+ ABCD
3340
+
3341
+ /a([bc]*)(c+d)/i
3342
+ ABCD
3343
+
3344
+ /a[bcd]*dcdcde/i
3345
+ ADCDCDE
3346
+
3347
+ /a[bcd]+dcdcde/i
3348
+
3349
+ /(ab|a)b*c/i
3350
+ ABC
3351
+
3352
+ /((a)(b)c)(d)/i
3353
+ ABCD
3354
+
3355
+ /[a-zA-Z_][a-zA-Z0-9_]*/i
3356
+ ALPHA
3357
+
3358
+ /^a(bc+|b[eh])g|.h$/i
3359
+ ABH
3360
+
3361
+ /(bc+d$|ef*g.|h?i(j|k))/i
3362
+ EFFGZ
3363
+ IJ
3364
+ REFFGZ
3365
+ *** Failers
3366
+ ADCDCDE
3367
+ EFFG
3368
+ BCDD
3369
+
3370
+ /((((((((((a))))))))))/i
3371
+ A
3372
+
3373
+ /(((((((((a)))))))))/i
3374
+ A
3375
+
3376
+ /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i
3377
+ A
3378
+
3379
+ /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i
3380
+ C
3381
+
3382
+ /multiple words of text/i
3383
+ *** Failers
3384
+ AA
3385
+ UH-UH
3386
+
3387
+ /multiple words/i
3388
+ MULTIPLE WORDS, YEAH
3389
+
3390
+ /(.*)c(.*)/i
3391
+ ABCDE
3392
+
3393
+ /\((.*), (.*)\)/i
3394
+ (A, B)
3395
+
3396
+ /[k]/i
3397
+
3398
+ /abcd/i
3399
+ ABCD
3400
+
3401
+ /a(bc)d/i
3402
+ ABCD
3403
+
3404
+ /a[-]?c/i
3405
+ AC
3406
+
3407
+ /a(?!b)./
3408
+ abad
3409
+
3410
+ /a(?=d)./
3411
+ abad
3412
+
3413
+ /a(?=c|d)./
3414
+ abad
3415
+
3416
+ /a(?:b|c|d)(.)/
3417
+ ace
3418
+
3419
+ /a(?:b|c|d)*(.)/
3420
+ ace
3421
+
3422
+ /a(?:b|c|d)+?(.)/
3423
+ ace
3424
+ acdbcdbe
3425
+
3426
+ /a(?:b|c|d)+(.)/
3427
+ acdbcdbe
3428
+
3429
+ /a(?:b|c|d){2}(.)/
3430
+ acdbcdbe
3431
+
3432
+ /a(?:b|c|d){4,5}(.)/
3433
+ acdbcdbe
3434
+
3435
+ /a(?:b|c|d){4,5}?(.)/
3436
+ acdbcdbe
3437
+
3438
+ /((foo)|(bar))*/
3439
+ foobar
3440
+
3441
+ /a(?:b|c|d){6,7}(.)/
3442
+ acdbcdbe
3443
+
3444
+ /a(?:b|c|d){6,7}?(.)/
3445
+ acdbcdbe
3446
+
3447
+ /a(?:b|c|d){5,6}(.)/
3448
+ acdbcdbe
3449
+
3450
+ /a(?:b|c|d){5,6}?(.)/
3451
+ acdbcdbe
3452
+
3453
+ /a(?:b|c|d){5,7}(.)/
3454
+ acdbcdbe
3455
+
3456
+ /a(?:b|c|d){5,7}?(.)/
3457
+ acdbcdbe
3458
+
3459
+ /a(?:b|(c|e){1,2}?|d)+?(.)/
3460
+ ace
3461
+
3462
+ /^(.+)?B/
3463
+ AB
3464
+
3465
+ /^([^a-z])|(\^)$/
3466
+ .
3467
+
3468
+ /^[<>]&/
3469
+ <&OUT
3470
+
3471
+ /(?:(f)(o)(o)|(b)(a)(r))*/
3472
+ foobar
3473
+
3474
+ /(?<=a)b/
3475
+ ab
3476
+ *** Failers
3477
+ cb
3478
+ b
3479
+
3480
+ /(?<!c)b/
3481
+ ab
3482
+ b
3483
+ b
3484
+
3485
+ /(?:..)*a/
3486
+ aba
3487
+
3488
+ /(?:..)*?a/
3489
+ aba
3490
+
3491
+ /^(){3,5}/
3492
+ abc
3493
+
3494
+ /^(a+)*ax/
3495
+ aax
3496
+
3497
+ /^((a|b)+)*ax/
3498
+ aax
3499
+
3500
+ /^((a|bc)+)*ax/
3501
+ aax
3502
+
3503
+ /(a|x)*ab/
3504
+ cab
3505
+
3506
+ /(a)*ab/
3507
+ cab
3508
+
3509
+ /(?:(?i)a)b/
3510
+ ab
3511
+
3512
+ /((?i)a)b/
3513
+ ab
3514
+
3515
+ /(?:(?i)a)b/
3516
+ Ab
3517
+
3518
+ /((?i)a)b/
3519
+ Ab
3520
+
3521
+ /(?:(?i)a)b/
3522
+ *** Failers
3523
+ cb
3524
+ aB
3525
+
3526
+ /((?i)a)b/
3527
+
3528
+ /(?i:a)b/
3529
+ ab
3530
+
3531
+ /((?i:a))b/
3532
+ ab
3533
+
3534
+ /(?i:a)b/
3535
+ Ab
3536
+
3537
+ /((?i:a))b/
3538
+ Ab
3539
+
3540
+ /(?i:a)b/
3541
+ *** Failers
3542
+ aB
3543
+ aB
3544
+
3545
+ /((?i:a))b/
3546
+
3547
+ /(?:(?-i)a)b/i
3548
+ ab
3549
+
3550
+ /((?-i)a)b/i
3551
+ ab
3552
+
3553
+ /(?:(?-i)a)b/i
3554
+ aB
3555
+
3556
+ /((?-i)a)b/i
3557
+ aB
3558
+
3559
+ /(?:(?-i)a)b/i
3560
+ *** Failers
3561
+ aB
3562
+ Ab
3563
+
3564
+ /((?-i)a)b/i
3565
+
3566
+ /(?:(?-i)a)b/i
3567
+ aB
3568
+
3569
+ /((?-i)a)b/i
3570
+ aB
3571
+
3572
+ /(?:(?-i)a)b/i
3573
+ *** Failers
3574
+ Ab
3575
+ AB
3576
+
3577
+ /((?-i)a)b/i
3578
+
3579
+ /(?-i:a)b/i
3580
+ ab
3581
+
3582
+ /((?-i:a))b/i
3583
+ ab
3584
+
3585
+ /(?-i:a)b/i
3586
+ aB
3587
+
3588
+ /((?-i:a))b/i
3589
+ aB
3590
+
3591
+ /(?-i:a)b/i
3592
+ *** Failers
3593
+ AB
3594
+ Ab
3595
+
3596
+ /((?-i:a))b/i
3597
+
3598
+ /(?-i:a)b/i
3599
+ aB
3600
+
3601
+ /((?-i:a))b/i
3602
+ aB
3603
+
3604
+ /(?-i:a)b/i
3605
+ *** Failers
3606
+ Ab
3607
+ AB
3608
+
3609
+ /((?-i:a))b/i
3610
+
3611
+ /((?-i:a.))b/i
3612
+ *** Failers
3613
+ AB
3614
+ a\nB
3615
+
3616
+ /((?s-i:a.))b/i
3617
+ a\nB
3618
+
3619
+ /(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/
3620
+ cabbbb
3621
+
3622
+ /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/
3623
+ caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
3624
+
3625
+ /foo\w*\d{4}baz/
3626
+ foobar1234baz
3627
+
3628
+ /x(~~)*(?:(?:F)?)?/
3629
+ x~~
3630
+
3631
+ /^a(?#xxx){3}c/
3632
+ aaac
3633
+
3634
+ /^a (?#xxx) (?#yyy) {3}c/x
3635
+ aaac
3636
+
3637
+ /(?<![cd])b/
3638
+ *** Failers
3639
+ B\nB
3640
+ dbcb
3641
+
3642
+ /(?<![cd])[ab]/
3643
+ dbaacb
3644
+
3645
+ /(?<!(c|d))b/
3646
+
3647
+ /(?<!(c|d))[ab]/
3648
+ dbaacb
3649
+
3650
+ /(?<!cd)[ab]/
3651
+ cdaccb
3652
+
3653
+ /^(?:a?b?)*$/
3654
+ *** Failers
3655
+ dbcb
3656
+ a--
3657
+
3658
+ /((?s)^a(.))((?m)^b$)/
3659
+ a\nb\nc\n
3660
+
3661
+ /((?m)^b$)/
3662
+ a\nb\nc\n
3663
+
3664
+ /(?m)^b/
3665
+ a\nb\n
3666
+
3667
+ /(?m)^(b)/
3668
+ a\nb\n
3669
+
3670
+ /((?m)^b)/
3671
+ a\nb\n
3672
+
3673
+ /\n((?m)^b)/
3674
+ a\nb\n
3675
+
3676
+ /((?s).)c(?!.)/
3677
+ a\nb\nc\n
3678
+ a\nb\nc\n
3679
+
3680
+ /((?s)b.)c(?!.)/
3681
+ a\nb\nc\n
3682
+ a\nb\nc\n
3683
+
3684
+ /^b/
3685
+
3686
+ /()^b/
3687
+ *** Failers
3688
+ a\nb\nc\n
3689
+ a\nb\nc\n
3690
+
3691
+ /((?m)^b)/
3692
+ a\nb\nc\n
3693
+
3694
+ /(?(?!a)a|b)/
3695
+
3696
+ /(?(?!a)b|a)/
3697
+ a
3698
+
3699
+ /(?(?=a)b|a)/
3700
+ *** Failers
3701
+ a
3702
+ a
3703
+
3704
+ /(?(?=a)a|b)/
3705
+ a
3706
+
3707
+ /(\w+:)+/
3708
+ one:
3709
+
3710
+ /$(?<=^(a))/
3711
+ a
3712
+
3713
+ /([\w:]+::)?(\w+)$/
3714
+ abcd
3715
+ xy:z:::abcd
3716
+
3717
+ /^[^bcd]*(c+)/
3718
+ aexycd
3719
+
3720
+ /(a*)b+/
3721
+ caab
3722
+
3723
+ /([\w:]+::)?(\w+)$/
3724
+ abcd
3725
+ xy:z:::abcd
3726
+ *** Failers
3727
+ abcd:
3728
+ abcd:
3729
+
3730
+ /^[^bcd]*(c+)/
3731
+ aexycd
3732
+
3733
+ /(>a+)ab/
3734
+
3735
+ /(?>a+)b/
3736
+ aaab
3737
+
3738
+ /([[:]+)/
3739
+ a:[b]:
3740
+
3741
+ /([[=]+)/
3742
+ a=[b]=
3743
+
3744
+ /([[.]+)/
3745
+ a.[b].
3746
+
3747
+ /((?>a+)b)/
3748
+ aaab
3749
+
3750
+ /(?>(a+))b/
3751
+ aaab
3752
+
3753
+ /((?>[^()]+)|\([^()]*\))+/
3754
+ ((abc(ade)ufh()()x
3755
+
3756
+ /a\Z/
3757
+ *** Failers
3758
+ aaab
3759
+ a\nb\n
3760
+
3761
+ /b\Z/
3762
+ a\nb\n
3763
+
3764
+ /b\z/
3765
+
3766
+ /b\Z/
3767
+ a\nb
3768
+
3769
+ /b\z/
3770
+ a\nb
3771
+ *** Failers
3772
+
3773
+ /(?>.*)(?<=(abcd|wxyz))/
3774
+ alphabetabcd
3775
+ endingwxyz
3776
+ *** Failers
3777
+ a rather long string that doesn't end with one of them
3778
+
3779
+ /word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword/
3780
+ word cat dog elephant mussel cow horse canary baboon snake shark otherword
3781
+ word cat dog elephant mussel cow horse canary baboon snake shark
3782
+
3783
+ /word (?>[a-zA-Z0-9]+ ){0,30}otherword/
3784
+ word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope
3785
+
3786
+ /(?<=\d{3}(?!999))foo/
3787
+ 999foo
3788
+ 123999foo
3789
+ *** Failers
3790
+ 123abcfoo
3791
+
3792
+ /(?<=(?!...999)\d{3})foo/
3793
+ 999foo
3794
+ 123999foo
3795
+ *** Failers
3796
+ 123abcfoo
3797
+
3798
+ /(?<=\d{3}(?!999)...)foo/
3799
+ 123abcfoo
3800
+ 123456foo
3801
+ *** Failers
3802
+ 123999foo
3803
+
3804
+ /(?<=\d{3}...)(?<!999)foo/
3805
+ 123abcfoo
3806
+ 123456foo
3807
+ *** Failers
3808
+ 123999foo
3809
+
3810
+ /((Z)+|A)*/
3811
+ ZABCDEFG
3812
+
3813
+ /(Z()|A)*/
3814
+ ZABCDEFG
3815
+
3816
+ /(Z(())|A)*/
3817
+ ZABCDEFG
3818
+
3819
+ /((?>Z)+|A)*/
3820
+ ZABCDEFG
3821
+
3822
+ /((?>)+|A)*/
3823
+ ZABCDEFG
3824
+
3825
+ /a*/g
3826
+ abbab
3827
+
3828
+ /^[a-\d]/
3829
+ abcde
3830
+ -things
3831
+ 0digit
3832
+ *** Failers
3833
+ bcdef
3834
+
3835
+ /^[\d-a]/
3836
+ abcde
3837
+ -things
3838
+ 0digit
3839
+ *** Failers
3840
+ bcdef
3841
+
3842
+ /[[:space:]]+/
3843
+ > \x09\x0a\x0c\x0d\x0b<
3844
+
3845
+ /[[:blank:]]+/
3846
+ > \x09\x0a\x0c\x0d\x0b<
3847
+
3848
+ /[\s]+/
3849
+ > \x09\x0a\x0c\x0d\x0b<
3850
+
3851
+ /\s+/
3852
+ > \x09\x0a\x0c\x0d\x0b<
3853
+
3854
+ /a b/x
3855
+ ab
3856
+
3857
+ /(?!\A)x/m
3858
+ a\nxb\n
3859
+
3860
+ /(?!^)x/m
3861
+ a\nxb\n
3862
+
3863
+ /abc\Qabc\Eabc/
3864
+ abcabcabc
3865
+
3866
+ /abc\Q(*+|\Eabc/
3867
+ abc(*+|abc
3868
+
3869
+ / abc\Q abc\Eabc/x
3870
+ abc abcabc
3871
+ *** Failers
3872
+ abcabcabc
3873
+
3874
+ /abc#comment
3875
+ \Q#not comment
3876
+ literal\E/x
3877
+ abc#not comment\n literal
3878
+
3879
+ /abc#comment
3880
+ \Q#not comment
3881
+ literal/x
3882
+ abc#not comment\n literal
3883
+
3884
+ /abc#comment
3885
+ \Q#not comment
3886
+ literal\E #more comment
3887
+ /x
3888
+ abc#not comment\n literal
3889
+
3890
+ /abc#comment
3891
+ \Q#not comment
3892
+ literal\E #more comment/x
3893
+ abc#not comment\n literal
3894
+
3895
+ /\Qabc\$xyz\E/
3896
+ abc\\\$xyz
3897
+
3898
+ /\Qabc\E\$\Qxyz\E/
3899
+ abc\$xyz
3900
+
3901
+ /\Gabc/
3902
+ abc
3903
+ *** Failers
3904
+ xyzabc
3905
+
3906
+ /\Gabc./g
3907
+ abc1abc2xyzabc3
3908
+
3909
+ /abc./g
3910
+ abc1abc2xyzabc3
3911
+
3912
+ /a(?x: b c )d/
3913
+ XabcdY
3914
+ *** Failers
3915
+ Xa b c d Y
3916
+
3917
+ /((?x)x y z | a b c)/
3918
+ XabcY
3919
+ AxyzB
3920
+
3921
+ /(?i)AB(?-i)C/
3922
+ XabCY
3923
+ *** Failers
3924
+ XabcY
3925
+
3926
+ /((?i)AB(?-i)C|D)E/
3927
+ abCE
3928
+ DE
3929
+ *** Failers
3930
+ abcE
3931
+ abCe
3932
+ dE
3933
+ De
3934
+
3935
+ /[z\Qa-d]\E]/
3936
+ z
3937
+ a
3938
+ -
3939
+ d
3940
+ ]
3941
+ *** Failers
3942
+ b
3943
+
3944
+ /[\z\C]/
3945
+ z
3946
+ C
3947
+
3948
+ /\M/
3949
+ M
3950
+
3951
+ /(a+)*b/
3952
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3953
+
3954
+ /(?i)reg(?:ul(?:[a�]|ae)r|ex)/
3955
+ REGular
3956
+ regulaer
3957
+ Regex
3958
+ regul�r
3959
+
3960
+ /����[�-��-�]+/
3961
+ �����
3962
+ �����
3963
+ �����
3964
+ �����
3965
+
3966
+ /(?<=Z)X./
3967
+ \x84XAZXB
3968
+
3969
+ /^(?(2)a|(1)(2))+$/
3970
+ 123a
3971
+
3972
+ /(?<=a|bbbb)c/
3973
+ ac
3974
+ bbbbc
3975
+
3976
+ /abc/SS>testsavedregex
3977
+ <testsavedregex
3978
+ abc
3979
+ *** Failers
3980
+ bca
3981
+
3982
+ /abc/FSS>testsavedregex
3983
+ <testsavedregex
3984
+ abc
3985
+ *** Failers
3986
+ bca
3987
+
3988
+ /(a|b)/S>testsavedregex
3989
+ <testsavedregex
3990
+ abc
3991
+ *** Failers
3992
+ def
3993
+
3994
+ /(a|b)/SF>testsavedregex
3995
+ <testsavedregex
3996
+ abc
3997
+ *** Failers
3998
+ def
3999
+
4000
+ /line\nbreak/
4001
+ this is a line\nbreak
4002
+ line one\nthis is a line\nbreak in the second line
4003
+
4004
+ /line\nbreak/f
4005
+ this is a line\nbreak
4006
+ ** Failers
4007
+ line one\nthis is a line\nbreak in the second line
4008
+
4009
+ /line\nbreak/mf
4010
+ this is a line\nbreak
4011
+ ** Failers
4012
+ line one\nthis is a line\nbreak in the second line
4013
+
4014
+ /1234/
4015
+ 123\P
4016
+ a4\P\R
4017
+
4018
+ /1234/
4019
+ 123\P
4020
+ 4\P\R
4021
+
4022
+ /^/mg
4023
+ a\nb\nc\n
4024
+ \
4025
+
4026
+ /(?<=C\n)^/mg
4027
+ A\nC\nC\n
4028
+
4029
+ /(?s)A?B/
4030
+ AB
4031
+ aB
4032
+
4033
+ /(?s)A*B/
4034
+ AB
4035
+ aB
4036
+
4037
+ /(?m)A?B/
4038
+ AB
4039
+ aB
4040
+
4041
+ /(?m)A*B/
4042
+ AB
4043
+ aB
4044
+
4045
+ /Content-Type\x3A[^\r\n]{6,}/
4046
+ Content-Type:xxxxxyyy
4047
+
4048
+ /Content-Type\x3A[^\r\n]{6,}z/
4049
+ Content-Type:xxxxxyyyz
4050
+
4051
+ /Content-Type\x3A[^a]{6,}/
4052
+ Content-Type:xxxyyy
4053
+
4054
+ /Content-Type\x3A[^a]{6,}z/
4055
+ Content-Type:xxxyyyz
4056
+
4057
+ /^abc/m
4058
+ xyz\nabc
4059
+ xyz\nabc\<lf>
4060
+ xyz\r\nabc\<lf>
4061
+ xyz\rabc\<cr>
4062
+ xyz\r\nabc\<crlf>
4063
+ ** Failers
4064
+ xyz\nabc\<cr>
4065
+ xyz\r\nabc\<cr>
4066
+ xyz\nabc\<crlf>
4067
+ xyz\rabc\<crlf>
4068
+ xyz\rabc\<lf>
4069
+
4070
+ /abc$/m<lf>
4071
+ xyzabc
4072
+ xyzabc\n
4073
+ xyzabc\npqr
4074
+ xyzabc\r\<cr>
4075
+ xyzabc\rpqr\<cr>
4076
+ xyzabc\r\n\<crlf>
4077
+ xyzabc\r\npqr\<crlf>
4078
+ ** Failers
4079
+ xyzabc\r
4080
+ xyzabc\rpqr
4081
+ xyzabc\r\n
4082
+ xyzabc\r\npqr
4083
+
4084
+ /^abc/m<cr>
4085
+ xyz\rabcdef
4086
+ xyz\nabcdef\<lf>
4087
+ ** Failers
4088
+ xyz\nabcdef
4089
+
4090
+ /^abc/m<lf>
4091
+ xyz\nabcdef
4092
+ xyz\rabcdef\<cr>
4093
+ ** Failers
4094
+ xyz\rabcdef
4095
+
4096
+ /^abc/m<crlf>
4097
+ xyz\r\nabcdef
4098
+ xyz\rabcdef\<cr>
4099
+ ** Failers
4100
+ xyz\rabcdef
4101
+
4102
+ /.*/<lf>
4103
+ abc\ndef
4104
+ abc\rdef
4105
+ abc\r\ndef
4106
+ \<cr>abc\ndef
4107
+ \<cr>abc\rdef
4108
+ \<cr>abc\r\ndef
4109
+ \<crlf>abc\ndef
4110
+ \<crlf>abc\rdef
4111
+ \<crlf>abc\r\ndef
4112
+
4113
+ /\w+(.)(.)?def/s
4114
+ abc\ndef
4115
+ abc\rdef
4116
+ abc\r\ndef
4117
+
4118
+ /^\w+=.*(\\\n.*)*/
4119
+ abc=xyz\\\npqr
4120
+
4121
+ /^(a()*)*/
4122
+ aaaa
4123
+
4124
+ /^(?:a(?:(?:))*)*/
4125
+ aaaa
4126
+
4127
+ /^(a()+)+/
4128
+ aaaa
4129
+
4130
+ /^(?:a(?:(?:))+)+/
4131
+ aaaa
4132
+
4133
+ /(a|)*\d/
4134
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4135
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
4136
+
4137
+ /(?>a|)*\d/
4138
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4139
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
4140
+
4141
+ /(?:a|)*\d/
4142
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4143
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
4144
+
4145
+ /^a.b/<lf>
4146
+ a\rb
4147
+ a\nb\<cr>
4148
+ ** Failers
4149
+ a\nb
4150
+ a\nb\<any>
4151
+ a\rb\<cr>
4152
+ a\rb\<any>
4153
+
4154
+ /^abc./mgx<any>
4155
+ abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
4156
+
4157
+ /abc.$/mgx<any>
4158
+ abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
4159
+
4160
+ /^a\Rb/<bsr_unicode>
4161
+ a\nb
4162
+ a\rb
4163
+ a\r\nb
4164
+ a\x0bb
4165
+ a\x0cb
4166
+ a\x85b
4167
+ ** Failers
4168
+ a\n\rb
4169
+
4170
+ /^a\R*b/<bsr_unicode>
4171
+ ab
4172
+ a\nb
4173
+ a\rb
4174
+ a\r\nb
4175
+ a\x0bb
4176
+ a\x0cb
4177
+ a\x85b
4178
+ a\n\rb
4179
+ a\n\r\x85\x0cb
4180
+
4181
+ /^a\R+b/<bsr_unicode>
4182
+ a\nb
4183
+ a\rb
4184
+ a\r\nb
4185
+ a\x0bb
4186
+ a\x0cb
4187
+ a\x85b
4188
+ a\n\rb
4189
+ a\n\r\x85\x0cb
4190
+ ** Failers
4191
+ ab
4192
+
4193
+ /^a\R{1,3}b/<bsr_unicode>
4194
+ a\nb
4195
+ a\n\rb
4196
+ a\n\r\x85b
4197
+ a\r\n\r\nb
4198
+ a\r\n\r\n\r\nb
4199
+ a\n\r\n\rb
4200
+ a\n\n\r\nb
4201
+ ** Failers
4202
+ a\n\n\n\rb
4203
+ a\r
4204
+
4205
+ /^a[\R]b/<bsr_unicode>
4206
+ aRb
4207
+ ** Failers
4208
+ a\nb
4209
+
4210
+ /.+foo/
4211
+ afoo
4212
+ ** Failers
4213
+ \r\nfoo
4214
+ \nfoo
4215
+
4216
+ /.+foo/<crlf>
4217
+ afoo
4218
+ \nfoo
4219
+ ** Failers
4220
+ \r\nfoo
4221
+
4222
+ /.+foo/<any>
4223
+ afoo
4224
+ ** Failers
4225
+ \nfoo
4226
+ \r\nfoo
4227
+
4228
+ /.+foo/s
4229
+ afoo
4230
+ \r\nfoo
4231
+ \nfoo
4232
+
4233
+ /^$/mg<any>
4234
+ abc\r\rxyz
4235
+ abc\n\rxyz
4236
+ ** Failers
4237
+ abc\r\nxyz
4238
+
4239
+ /^X/m
4240
+ XABC
4241
+ ** Failers
4242
+ XABC\B
4243
+
4244
+ /(?m)^$/<any>g+
4245
+ abc\r\n\r\n
4246
+
4247
+ /(?m)^$|^\r\n/<any>g+
4248
+ abc\r\n\r\n
4249
+
4250
+ /(?m)$/<any>g+
4251
+ abc\r\n\r\n
4252
+
4253
+ /(?|(abc)|(xyz))/
4254
+ >abc<
4255
+ >xyz<
4256
+
4257
+ /(x)(?|(abc)|(xyz))(x)/
4258
+ xabcx
4259
+ xxyzx
4260
+
4261
+ /(x)(?|(abc)(pqr)|(xyz))(x)/
4262
+ xabcpqrx
4263
+ xxyzx
4264
+
4265
+ /(?|(abc)|(xyz))(?1)/
4266
+ abcabc
4267
+ xyzabc
4268
+ ** Failers
4269
+ xyzxyz
4270
+
4271
+ /\H\h\V\v/
4272
+ X X\x0a
4273
+ X\x09X\x0b
4274
+ ** Failers
4275
+ \xa0 X\x0a
4276
+
4277
+ /\H*\h+\V?\v{3,4}/
4278
+ \x09\x20\xa0X\x0a\x0b\x0c\x0d\x0a
4279
+ \x09\x20\xa0\x0a\x0b\x0c\x0d\x0a
4280
+ \x09\x20\xa0\x0a\x0b\x0c
4281
+ ** Failers
4282
+ \x09\x20\xa0\x0a\x0b
4283
+
4284
+ /\H{3,4}/
4285
+ XY ABCDE
4286
+ XY PQR ST
4287
+
4288
+ /.\h{3,4}./
4289
+ XY AB PQRS
4290
+
4291
+ /\h*X\h?\H+Y\H?Z/
4292
+ >XNNNYZ
4293
+ > X NYQZ
4294
+ ** Failers
4295
+ >XYZ
4296
+ > X NY Z
4297
+
4298
+ /\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c/
4299
+ >XY\x0aZ\x0aA\x0bNN\x0c
4300
+ >\x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c
4301
+
4302
+ /.+A/<crlf>
4303
+ \r\nA
4304
+
4305
+ /\nA/<crlf>
4306
+ \r\nA
4307
+
4308
+ /[\r\n]A/<crlf>
4309
+ \r\nA
4310
+
4311
+ /(\r|\n)A/<crlf>
4312
+ \r\nA
4313
+
4314
+ /a\Rb/I<bsr_anycrlf>
4315
+ a\rb
4316
+ a\nb
4317
+ a\r\nb
4318
+ ** Failers
4319
+ a\x85b
4320
+ a\x0bb
4321
+
4322
+ /a\Rb/I<bsr_unicode>
4323
+ a\rb
4324
+ a\nb
4325
+ a\r\nb
4326
+ a\x85b
4327
+ a\x0bb
4328
+ ** Failers
4329
+ a\x85b\<bsr_anycrlf>
4330
+ a\x0bb\<bsr_anycrlf>
4331
+
4332
+ /a\R?b/I<bsr_anycrlf>
4333
+ a\rb
4334
+ a\nb
4335
+ a\r\nb
4336
+ ** Failers
4337
+ a\x85b
4338
+ a\x0bb
4339
+
4340
+ /a\R?b/I<bsr_unicode>
4341
+ a\rb
4342
+ a\nb
4343
+ a\r\nb
4344
+ a\x85b
4345
+ a\x0bb
4346
+ ** Failers
4347
+ a\x85b\<bsr_anycrlf>
4348
+ a\x0bb\<bsr_anycrlf>
4349
+
4350
+ /a\R{2,4}b/I<bsr_anycrlf>
4351
+ a\r\n\nb
4352
+ a\n\r\rb
4353
+ a\r\n\r\n\r\n\r\nb
4354
+ ** Failers
4355
+ a\x85\85b
4356
+ a\x0b\0bb
4357
+
4358
+ /a\R{2,4}b/I<bsr_unicode>
4359
+ a\r\rb
4360
+ a\n\n\nb
4361
+ a\r\n\n\r\rb
4362
+ a\x85\85b
4363
+ a\x0b\0bb
4364
+ ** Failers
4365
+ a\r\r\r\r\rb
4366
+ a\x85\85b\<bsr_anycrlf>
4367
+ a\x0b\0bb\<bsr_anycrlf>
4368
+
4369
+ /a(?!)|\wbc/
4370
+ abc
4371
+
4372
+ /a[]b/<JS>
4373
+ ** Failers
4374
+ ab
4375
+
4376
+ /a[]+b/<JS>
4377
+ ** Failers
4378
+ ab
4379
+
4380
+ /a[]*+b/<JS>
4381
+ ** Failers
4382
+ ab
4383
+
4384
+ /a[^]b/<JS>
4385
+ aXb
4386
+ a\nb
4387
+ ** Failers
4388
+ ab
4389
+
4390
+ /a[^]+b/<JS>
4391
+ aXb
4392
+ a\nX\nXb
4393
+ ** Failers
4394
+ ab
4395
+
4396
+ /X$/E
4397
+ X
4398
+ ** Failers
4399
+ X\n
4400
+
4401
+ /X$/
4402
+ X
4403
+ X\n
4404
+
4405
+ /xyz/C
4406
+ xyz
4407
+ abcxyz
4408
+ abcxyz\Y
4409
+ ** Failers
4410
+ abc
4411
+ abc\Y
4412
+ abcxypqr
4413
+ abcxypqr\Y
4414
+
4415
+ /(*NO_START_OPT)xyz/C
4416
+ abcxyz
4417
+
4418
+ /(?C)ab/
4419
+ ab
4420
+ \C-ab
4421
+
4422
+ /ab/C
4423
+ ab
4424
+ \C-ab
4425
+
4426
+ /^"((?(?=[a])[^"])|b)*"$/C
4427
+ "ab"
4428
+ \C-"ab"
4429
+
4430
+ /\d+X|9+Y/
4431
+ ++++123999\P
4432
+ ++++123999Y\P
4433
+
4434
+ /Z(*F)/
4435
+ Z\P
4436
+ ZA\P
4437
+
4438
+ /Z(?!)/
4439
+ Z\P
4440
+ ZA\P
4441
+
4442
+ /dog(sbody)?/
4443
+ dogs\P
4444
+ dogs\P\P
4445
+
4446
+ /dog(sbody)??/
4447
+ dogs\P
4448
+ dogs\P\P
4449
+
4450
+ /dog|dogsbody/
4451
+ dogs\P
4452
+ dogs\P\P
4453
+
4454
+ /dogsbody|dog/
4455
+ dogs\P
4456
+ dogs\P\P
4457
+
4458
+ /Z(*F)Q|ZXY/
4459
+ Z\P
4460
+ ZA\P
4461
+ X\P
4462
+
4463
+ /\bthe cat\b/
4464
+ the cat\P
4465
+ the cat\P\P
4466
+
4467
+ /dog(sbody)?/
4468
+ dogs\D\P
4469
+ body\D\R
4470
+
4471
+ /dog(sbody)?/
4472
+ dogs\D\P\P
4473
+ body\D\R
4474
+
4475
+ /abc/
4476
+ abc\P
4477
+ abc\P\P
4478
+
4479
+ /abc\K123/
4480
+ xyzabc123pqr
4481
+
4482
+ /(?<=abc)123/
4483
+ xyzabc123pqr
4484
+ xyzabc12\P
4485
+ xyzabc12\P\P
4486
+
4487
+ /\babc\b/
4488
+ +++abc+++
4489
+ +++ab\P
4490
+ +++ab\P\P
4491
+
4492
+ /(?=C)/g+
4493
+ ABCDECBA
4494
+
4495
+ /(abc|def|xyz)/I
4496
+ terhjk;abcdaadsfe
4497
+ the quick xyz brown fox
4498
+ \Yterhjk;abcdaadsfe
4499
+ \Ythe quick xyz brown fox
4500
+ ** Failers
4501
+ thejk;adlfj aenjl;fda asdfasd ehj;kjxyasiupd
4502
+ \Ythejk;adlfj aenjl;fda asdfasd ehj;kjxyasiupd
4503
+
4504
+ /(abc|def|xyz)/SI
4505
+ terhjk;abcdaadsfe
4506
+ the quick xyz brown fox
4507
+ \Yterhjk;abcdaadsfe
4508
+ \Ythe quick xyz brown fox
4509
+ ** Failers
4510
+ thejk;adlfj aenjl;fda asdfasd ehj;kjxyasiupd
4511
+ \Ythejk;adlfj aenjl;fda asdfasd ehj;kjxyasiupd
4512
+
4513
+ /abcd*/+
4514
+ xxxxabcd\P
4515
+ xxxxabcd\P\P
4516
+ dddxxx\R
4517
+ xxxxabcd\P\P
4518
+ xxx\R
4519
+
4520
+ /abcd*/i
4521
+ xxxxabcd\P
4522
+ xxxxabcd\P\P
4523
+ XXXXABCD\P
4524
+ XXXXABCD\P\P
4525
+
4526
+ /abc\d*/
4527
+ xxxxabc1\P
4528
+ xxxxabc1\P\P
4529
+
4530
+ /abc[de]*/
4531
+ xxxxabcde\P
4532
+ xxxxabcde\P\P
4533
+
4534
+ /(?:(?1)|B)(A(*F)|C)/
4535
+ ABCD
4536
+ CCD
4537
+ ** Failers
4538
+ CAD
4539
+
4540
+ /^(?:(?1)|B)(A(*F)|C)/
4541
+ CCD
4542
+ BCD
4543
+ ** Failers
4544
+ ABCD
4545
+ CAD
4546
+ BAD
4547
+
4548
+ /^(?!a(*SKIP)b)/
4549
+ ac
4550
+
4551
+ /^(?=a(*SKIP)b|ac)/
4552
+ ** Failers
4553
+ ac
4554
+
4555
+ /^(?=a(*THEN)b|ac)/
4556
+ ac
4557
+
4558
+ /^(?=a(*PRUNE)b)/
4559
+ ab
4560
+ ** Failers
4561
+ ac
4562
+
4563
+ /^(?(?!a(*SKIP)b))/
4564
+ ac
4565
+
4566
+ /(?<=abc)def/
4567
+ abc\P\P
4568
+
4569
+ /abc$/
4570
+ abc
4571
+ abc\P
4572
+ abc\P\P
4573
+
4574
+ /abc$/m
4575
+ abc
4576
+ abc\n
4577
+ abc\P\P
4578
+ abc\n\P\P
4579
+ abc\P
4580
+ abc\n\P
4581
+
4582
+ /abc\z/
4583
+ abc
4584
+ abc\P
4585
+ abc\P\P
4586
+
4587
+ /abc\Z/
4588
+ abc
4589
+ abc\P
4590
+ abc\P\P
4591
+
4592
+ /abc\b/
4593
+ abc
4594
+ abc\P
4595
+ abc\P\P
4596
+
4597
+ /abc\B/
4598
+ abc
4599
+ abc\P
4600
+ abc\P\P
4601
+
4602
+ /.+/
4603
+ abc\>0
4604
+ abc\>1
4605
+ abc\>2
4606
+ abc\>3
4607
+ abc\>4
4608
+ abc\>-4
4609
+
4610
+ /^(?:a)++\w/
4611
+ aaaab
4612
+ ** Failers
4613
+ aaaa
4614
+ bbb
4615
+
4616
+ /^(?:aa|(?:a)++\w)/
4617
+ aaaab
4618
+ aaaa
4619
+ ** Failers
4620
+ bbb
4621
+
4622
+ /^(?:a)*+\w/
4623
+ aaaab
4624
+ bbb
4625
+ ** Failers
4626
+ aaaa
4627
+
4628
+ /^(a)++\w/
4629
+ aaaab
4630
+ ** Failers
4631
+ aaaa
4632
+ bbb
4633
+
4634
+ /^(a|)++\w/
4635
+ aaaab
4636
+ ** Failers
4637
+ aaaa
4638
+ bbb
4639
+
4640
+ /(?=abc){3}abc/+
4641
+ abcabcabc
4642
+ ** Failers
4643
+ xyz
4644
+
4645
+ /(?=abc)+abc/+
4646
+ abcabcabc
4647
+ ** Failers
4648
+ xyz
4649
+
4650
+ /(?=abc)++abc/+
4651
+ abcabcabc
4652
+ ** Failers
4653
+ xyz
4654
+
4655
+ /(?=abc){0}xyz/
4656
+ xyz
4657
+
4658
+ /(?=abc){1}xyz/
4659
+ ** Failers
4660
+ xyz
4661
+
4662
+ /(?=(a))?./
4663
+ ab
4664
+ bc
4665
+
4666
+ /(?=(a))??./
4667
+ ab
4668
+ bc
4669
+
4670
+ /^(?=(a)){0}b(?1)/
4671
+ backgammon
4672
+
4673
+ /^(?=(?1))?[az]([abc])d/
4674
+ abd
4675
+ zcdxx
4676
+
4677
+ /^(?!a){0}\w+/
4678
+ aaaaa
4679
+
4680
+ /(?<=(abc))?xyz/
4681
+ abcxyz
4682
+ pqrxyz
4683
+
4684
+ /((?2))((?1))/
4685
+ abc
4686
+
4687
+ /(?(R)a+|(?R)b)/
4688
+ aaaabcde
4689
+
4690
+ /(?(R)a+|((?R))b)/
4691
+ aaaabcde
4692
+
4693
+ /((?(R)a+|(?1)b))/
4694
+ aaaabcde
4695
+
4696
+ /((?(R2)a+|(?1)b))/
4697
+ aaaabcde
4698
+
4699
+ /(?(R)a*(?1)|((?R))b)/
4700
+ aaaabcde
4701
+
4702
+ /(a+)/
4703
+ \O6aaaa
4704
+ \O8aaaa
4705
+
4706
+ /ab\Cde/
4707
+ abXde
4708
+
4709
+ /(?<=ab\Cde)X/
4710
+ abZdeX
4711
+
4712
+ /^\R/
4713
+ \r\P
4714
+ \r\P\P
4715
+
4716
+ /^\R{2,3}x/
4717
+ \r\P
4718
+ \r\P\P
4719
+ \r\r\P
4720
+ \r\r\P\P
4721
+ \r\r\r\P
4722
+ \r\r\r\P\P
4723
+ \r\rx
4724
+ \r\r\rx
4725
+
4726
+ /^\R{2,3}?x/
4727
+ \r\P
4728
+ \r\P\P
4729
+ \r\r\P
4730
+ \r\r\P\P
4731
+ \r\r\r\P
4732
+ \r\r\r\P\P
4733
+ \r\rx
4734
+ \r\r\rx
4735
+
4736
+ /^\R?x/
4737
+ \r\P
4738
+ \r\P\P
4739
+ x
4740
+ \rx
4741
+
4742
+ /^\R+x/
4743
+ \r\P
4744
+ \r\P\P
4745
+ \r\n\P
4746
+ \r\n\P\P
4747
+ \rx
4748
+
4749
+ /^a$/<CRLF>
4750
+ a\r\P
4751
+ a\r\P\P
4752
+
4753
+ /^a$/m<CRLF>
4754
+ a\r\P
4755
+ a\r\P\P
4756
+
4757
+ /^(a$|a\r)/<CRLF>
4758
+ a\r\P
4759
+ a\r\P\P
4760
+
4761
+ /^(a$|a\r)/m<CRLF>
4762
+ a\r\P
4763
+ a\r\P\P
4764
+
4765
+ /./<CRLF>
4766
+ \r\P
4767
+ \r\P\P
4768
+
4769
+ /.{2,3}/<CRLF>
4770
+ \r\P
4771
+ \r\P\P
4772
+ \r\r\P
4773
+ \r\r\P\P
4774
+ \r\r\r\P
4775
+ \r\r\r\P\P
4776
+
4777
+ /.{2,3}?/<CRLF>
4778
+ \r\P
4779
+ \r\P\P
4780
+ \r\r\P
4781
+ \r\r\P\P
4782
+ \r\r\r\P
4783
+ \r\r\r\P\P
4784
+
4785
+ /-- Test simple validity check for restarts --/
4786
+
4787
+ /abcdef/
4788
+ abc\R
4789
+
4790
+ /<H((?(?!<H|F>)(.)|(?R))++)*F>/
4791
+ text <H more text <H texting more hexA0-"\xA0" hex above 7F-"\xBC" F> text xxxxx <H text F> text F> text2 <H text sample F> more text.
4792
+
4793
+ /^(?>.{4})abc|^\w\w.xabcd/
4794
+ xxxxabcd
4795
+ xx\xa0xabcd
4796
+
4797
+ /^(.{4}){2}+abc|^\w\w.x\w\w\w\wabcd/
4798
+ xxxxxxxxabcd
4799
+ xx\xa0xxxxxabcd
4800
+
4801
+ /-- End of testinput8 --/