testoutput5 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953
  1. /-- This set of tests checks the API, internals, and non-Perl stuff for UTF
  2. support, excluding Unicode properties. However, tests that give different
  3. results in 8-bit and 16-bit modes are excluded (see tests 16 and 17). --/
  4. < forbid W
  5. /\x{110000}/8DZ
  6. Failed: character value in \x{} or \o{} is too large at offset 9
  7. /\o{4200000}/8DZ
  8. Failed: character value in \x{} or \o{} is too large at offset 10
  9. /\x{ffffffff}/8
  10. Failed: character value in \x{} or \o{} is too large at offset 11
  11. /\o{37777777777}/8
  12. Failed: character value in \x{} or \o{} is too large at offset 14
  13. /\x{100000000}/8
  14. Failed: character value in \x{} or \o{} is too large at offset 12
  15. /\o{77777777777}/8
  16. Failed: character value in \x{} or \o{} is too large at offset 14
  17. /\x{d800}/8
  18. Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
  19. /\o{154000}/8
  20. Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 9
  21. /\x{dfff}/8
  22. Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
  23. /\o{157777}/8
  24. Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 9
  25. /\x{d7ff}/8
  26. /\o{153777}/8
  27. /\x{e000}/8
  28. /\o{170000}/8
  29. /^\x{100}a\x{1234}/8
  30. \x{100}a\x{1234}bcd
  31. 0: \x{100}a\x{1234}
  32. /\x{0041}\x{2262}\x{0391}\x{002e}/DZ8
  33. ------------------------------------------------------------------
  34. Bra
  35. A\x{2262}\x{391}.
  36. Ket
  37. End
  38. ------------------------------------------------------------------
  39. Capturing subpattern count = 0
  40. Options: utf
  41. First char = 'A'
  42. Need char = '.'
  43. \x{0041}\x{2262}\x{0391}\x{002e}
  44. 0: A\x{2262}\x{391}.
  45. /.{3,5}X/DZ8
  46. ------------------------------------------------------------------
  47. Bra
  48. Any{3}
  49. Any{0,2}
  50. X
  51. Ket
  52. End
  53. ------------------------------------------------------------------
  54. Capturing subpattern count = 0
  55. Options: utf
  56. No first char
  57. Need char = 'X'
  58. \x{212ab}\x{212ab}\x{212ab}\x{861}X
  59. 0: \x{212ab}\x{212ab}\x{212ab}\x{861}X
  60. /.{3,5}?/DZ8
  61. ------------------------------------------------------------------
  62. Bra
  63. Any{3}
  64. Any{0,2}?
  65. Ket
  66. End
  67. ------------------------------------------------------------------
  68. Capturing subpattern count = 0
  69. Options: utf
  70. No first char
  71. No need char
  72. \x{212ab}\x{212ab}\x{212ab}\x{861}
  73. 0: \x{212ab}\x{212ab}\x{212ab}
  74. /(?<=\C)X/8
  75. Failed: \C not allowed in lookbehind assertion at offset 6
  76. /^[ab]/8DZ
  77. ------------------------------------------------------------------
  78. Bra
  79. ^
  80. [ab]
  81. Ket
  82. End
  83. ------------------------------------------------------------------
  84. Capturing subpattern count = 0
  85. Options: anchored utf
  86. No first char
  87. No need char
  88. bar
  89. 0: b
  90. *** Failers
  91. No match
  92. c
  93. No match
  94. \x{ff}
  95. No match
  96. \x{100}
  97. No match
  98. /^[^ab]/8DZ
  99. ------------------------------------------------------------------
  100. Bra
  101. ^
  102. [\x00-`c-\xff] (neg)
  103. Ket
  104. End
  105. ------------------------------------------------------------------
  106. Capturing subpattern count = 0
  107. Options: anchored utf
  108. No first char
  109. No need char
  110. c
  111. 0: c
  112. \x{ff}
  113. 0: \x{ff}
  114. \x{100}
  115. 0: \x{100}
  116. *** Failers
  117. 0: *
  118. aaa
  119. No match
  120. /\x{100}*(\d+|"(?1)")/8
  121. 1234
  122. 0: 1234
  123. 1: 1234
  124. "1234"
  125. 0: "1234"
  126. 1: "1234"
  127. \x{100}1234
  128. 0: \x{100}1234
  129. 1: 1234
  130. "\x{100}1234"
  131. 0: \x{100}1234
  132. 1: 1234
  133. \x{100}\x{100}12ab
  134. 0: \x{100}\x{100}12
  135. 1: 12
  136. \x{100}\x{100}"12"
  137. 0: \x{100}\x{100}"12"
  138. 1: "12"
  139. *** Failers
  140. No match
  141. \x{100}\x{100}abcd
  142. No match
  143. /\x{100}*/8DZ
  144. ------------------------------------------------------------------
  145. Bra
  146. \x{100}*+
  147. Ket
  148. End
  149. ------------------------------------------------------------------
  150. Capturing subpattern count = 0
  151. May match empty string
  152. Options: utf
  153. No first char
  154. No need char
  155. /a\x{100}*/8DZ
  156. ------------------------------------------------------------------
  157. Bra
  158. a
  159. \x{100}*+
  160. Ket
  161. End
  162. ------------------------------------------------------------------
  163. Capturing subpattern count = 0
  164. Options: utf
  165. First char = 'a'
  166. No need char
  167. /ab\x{100}*/8DZ
  168. ------------------------------------------------------------------
  169. Bra
  170. ab
  171. \x{100}*+
  172. Ket
  173. End
  174. ------------------------------------------------------------------
  175. Capturing subpattern count = 0
  176. Options: utf
  177. First char = 'a'
  178. Need char = 'b'
  179. /\x{100}*A/8DZ
  180. ------------------------------------------------------------------
  181. Bra
  182. \x{100}*+
  183. A
  184. Ket
  185. End
  186. ------------------------------------------------------------------
  187. Capturing subpattern count = 0
  188. Options: utf
  189. No first char
  190. Need char = 'A'
  191. A
  192. 0: A
  193. /\x{100}*\d(?R)/8DZ
  194. ------------------------------------------------------------------
  195. Bra
  196. \x{100}*+
  197. \d
  198. Recurse
  199. Ket
  200. End
  201. ------------------------------------------------------------------
  202. Capturing subpattern count = 0
  203. Options: utf
  204. No first char
  205. No need char
  206. /[Z\x{100}]/8DZ
  207. ------------------------------------------------------------------
  208. Bra
  209. [Z\x{100}]
  210. Ket
  211. End
  212. ------------------------------------------------------------------
  213. Capturing subpattern count = 0
  214. Options: utf
  215. No first char
  216. No need char
  217. Z\x{100}
  218. 0: Z
  219. \x{100}
  220. 0: \x{100}
  221. \x{100}Z
  222. 0: \x{100}
  223. *** Failers
  224. No match
  225. /[\x{200}-\x{100}]/8
  226. Failed: range out of order in character class at offset 15
  227. /[Ā-Ą]/8
  228. \x{100}
  229. 0: \x{100}
  230. \x{104}
  231. 0: \x{104}
  232. *** Failers
  233. No match
  234. \x{105}
  235. No match
  236. \x{ff}
  237. No match
  238. /[z-\x{100}]/8DZ
  239. ------------------------------------------------------------------
  240. Bra
  241. [z-\xff\x{100}]
  242. Ket
  243. End
  244. ------------------------------------------------------------------
  245. Capturing subpattern count = 0
  246. Options: utf
  247. No first char
  248. No need char
  249. /[z\Qa-d]Ā\E]/8DZ
  250. ------------------------------------------------------------------
  251. Bra
  252. [\-\]adz\x{100}]
  253. Ket
  254. End
  255. ------------------------------------------------------------------
  256. Capturing subpattern count = 0
  257. Options: utf
  258. No first char
  259. No need char
  260. \x{100}
  261. 0: \x{100}
  262. Ā
  263. 0: \x{100}
  264. /[\xFF]/DZ
  265. ------------------------------------------------------------------
  266. Bra
  267. \x{ff}
  268. Ket
  269. End
  270. ------------------------------------------------------------------
  271. Capturing subpattern count = 0
  272. No options
  273. First char = \xff
  274. No need char
  275. >\xff<
  276. 0: \xff
  277. /[^\xFF]/DZ
  278. ------------------------------------------------------------------
  279. Bra
  280. [^\x{ff}]
  281. Ket
  282. End
  283. ------------------------------------------------------------------
  284. Capturing subpattern count = 0
  285. No options
  286. No first char
  287. No need char
  288. /[Ä-Ü]/8
  289. Ö # Matches without Study
  290. 0: \x{d6}
  291. \x{d6}
  292. 0: \x{d6}
  293. /[Ä-Ü]/8S
  294. Ö <-- Same with Study
  295. 0: \x{d6}
  296. \x{d6}
  297. 0: \x{d6}
  298. /[\x{c4}-\x{dc}]/8
  299. Ö # Matches without Study
  300. 0: \x{d6}
  301. \x{d6}
  302. 0: \x{d6}
  303. /[\x{c4}-\x{dc}]/8S
  304. Ö <-- Same with Study
  305. 0: \x{d6}
  306. \x{d6}
  307. 0: \x{d6}
  308. /[^\x{100}]abc(xyz(?1))/8DZ
  309. ------------------------------------------------------------------
  310. Bra
  311. [^\x{100}]
  312. abc
  313. CBra 1
  314. xyz
  315. Recurse
  316. Ket
  317. Ket
  318. End
  319. ------------------------------------------------------------------
  320. Capturing subpattern count = 1
  321. Options: utf
  322. No first char
  323. Need char = 'z'
  324. /[ab\x{100}]abc(xyz(?1))/8DZ
  325. ------------------------------------------------------------------
  326. Bra
  327. [ab\x{100}]
  328. abc
  329. CBra 1
  330. xyz
  331. Recurse
  332. Ket
  333. Ket
  334. End
  335. ------------------------------------------------------------------
  336. Capturing subpattern count = 1
  337. Options: utf
  338. No first char
  339. Need char = 'z'
  340. /(\x{100}(b(?2)c))?/DZ8
  341. ------------------------------------------------------------------
  342. Bra
  343. Brazero
  344. CBra 1
  345. \x{100}
  346. CBra 2
  347. b
  348. Recurse
  349. c
  350. Ket
  351. Ket
  352. Ket
  353. End
  354. ------------------------------------------------------------------
  355. Capturing subpattern count = 2
  356. May match empty string
  357. Options: utf
  358. No first char
  359. No need char
  360. /(\x{100}(b(?2)c)){0,2}/DZ8
  361. ------------------------------------------------------------------
  362. Bra
  363. Brazero
  364. Bra
  365. CBra 1
  366. \x{100}
  367. CBra 2
  368. b
  369. Recurse
  370. c
  371. Ket
  372. Ket
  373. Brazero
  374. CBra 1
  375. \x{100}
  376. CBra 2
  377. b
  378. Recurse
  379. c
  380. Ket
  381. Ket
  382. Ket
  383. Ket
  384. End
  385. ------------------------------------------------------------------
  386. Capturing subpattern count = 2
  387. May match empty string
  388. Options: utf
  389. No first char
  390. No need char
  391. /(\x{100}(b(?1)c))?/DZ8
  392. ------------------------------------------------------------------
  393. Bra
  394. Brazero
  395. CBra 1
  396. \x{100}
  397. CBra 2
  398. b
  399. Recurse
  400. c
  401. Ket
  402. Ket
  403. Ket
  404. End
  405. ------------------------------------------------------------------
  406. Capturing subpattern count = 2
  407. May match empty string
  408. Options: utf
  409. No first char
  410. No need char
  411. /(\x{100}(b(?1)c)){0,2}/DZ8
  412. ------------------------------------------------------------------
  413. Bra
  414. Brazero
  415. Bra
  416. CBra 1
  417. \x{100}
  418. CBra 2
  419. b
  420. Recurse
  421. c
  422. Ket
  423. Ket
  424. Brazero
  425. CBra 1
  426. \x{100}
  427. CBra 2
  428. b
  429. Recurse
  430. c
  431. Ket
  432. Ket
  433. Ket
  434. Ket
  435. End
  436. ------------------------------------------------------------------
  437. Capturing subpattern count = 2
  438. May match empty string
  439. Options: utf
  440. No first char
  441. No need char
  442. /\W/8
  443. A.B
  444. 0: .
  445. A\x{100}B
  446. 0: \x{100}
  447. /\w/8
  448. \x{100}X
  449. 0: X
  450. /^\/8DZ
  451. ------------------------------------------------------------------
  452. Bra
  453. ^
  454. \x{1234}
  455. Ket
  456. End
  457. ------------------------------------------------------------------
  458. Capturing subpattern count = 0
  459. Options: anchored utf
  460. No first char
  461. No need char
  462. /\x{100}*\d/8DZ
  463. ------------------------------------------------------------------
  464. Bra
  465. \x{100}*+
  466. \d
  467. Ket
  468. End
  469. ------------------------------------------------------------------
  470. Capturing subpattern count = 0
  471. Options: utf
  472. No first char
  473. No need char
  474. /\x{100}*\s/8DZ
  475. ------------------------------------------------------------------
  476. Bra
  477. \x{100}*+
  478. \s
  479. Ket
  480. End
  481. ------------------------------------------------------------------
  482. Capturing subpattern count = 0
  483. Options: utf
  484. No first char
  485. No need char
  486. /\x{100}*\w/8DZ
  487. ------------------------------------------------------------------
  488. Bra
  489. \x{100}*+
  490. \w
  491. Ket
  492. End
  493. ------------------------------------------------------------------
  494. Capturing subpattern count = 0
  495. Options: utf
  496. No first char
  497. No need char
  498. /\x{100}*\D/8DZ
  499. ------------------------------------------------------------------
  500. Bra
  501. \x{100}*
  502. \D
  503. Ket
  504. End
  505. ------------------------------------------------------------------
  506. Capturing subpattern count = 0
  507. Options: utf
  508. No first char
  509. No need char
  510. /\x{100}*\S/8DZ
  511. ------------------------------------------------------------------
  512. Bra
  513. \x{100}*
  514. \S
  515. Ket
  516. End
  517. ------------------------------------------------------------------
  518. Capturing subpattern count = 0
  519. Options: utf
  520. No first char
  521. No need char
  522. /\x{100}*\W/8DZ
  523. ------------------------------------------------------------------
  524. Bra
  525. \x{100}*
  526. \W
  527. Ket
  528. End
  529. ------------------------------------------------------------------
  530. Capturing subpattern count = 0
  531. Options: utf
  532. No first char
  533. No need char
  534. /()()()()()()()()()()
  535. ()()()()()()()()()()
  536. ()()()()()()()()()()
  537. ()()()()()()()()()()
  538. A (x) (?41) B/8x
  539. AxxB
  540. Matched, but too many substrings
  541. 0: AxxB
  542. 1:
  543. 2:
  544. 3:
  545. 4:
  546. 5:
  547. 6:
  548. 7:
  549. 8:
  550. 9:
  551. 10:
  552. 11:
  553. 12:
  554. 13:
  555. 14:
  556. /^[\x{100}\E-\Q\E\x{150}]/BZ8
  557. ------------------------------------------------------------------
  558. Bra
  559. ^
  560. [\x{100}-\x{150}]
  561. Ket
  562. End
  563. ------------------------------------------------------------------
  564. /^[\QĀ\E-\QŐ\E]/BZ8
  565. ------------------------------------------------------------------
  566. Bra
  567. ^
  568. [\x{100}-\x{150}]
  569. Ket
  570. End
  571. ------------------------------------------------------------------
  572. /^abc./mgx8<any>
  573. abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK
  574. 0: abc1
  575. 0: abc2
  576. 0: abc3
  577. 0: abc4
  578. 0: abc5
  579. 0: abc6
  580. 0: abc7
  581. 0: abc8
  582. 0: abc9
  583. /abc.$/mgx8<any>
  584. abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9
  585. 0: abc1
  586. 0: abc2
  587. 0: abc3
  588. 0: abc4
  589. 0: abc5
  590. 0: abc6
  591. 0: abc7
  592. 0: abc8
  593. 0: abc9
  594. /^a\Rb/8<bsr_unicode>
  595. a\nb
  596. 0: a\x{0a}b
  597. a\rb
  598. 0: a\x{0d}b
  599. a\r\nb
  600. 0: a\x{0d}\x{0a}b
  601. a\x0bb
  602. 0: a\x{0b}b
  603. a\x0cb
  604. 0: a\x{0c}b
  605. a\x{85}b
  606. 0: a\x{85}b
  607. a\x{2028}b
  608. 0: a\x{2028}b
  609. a\x{2029}b
  610. 0: a\x{2029}b
  611. ** Failers
  612. No match
  613. a\n\rb
  614. No match
  615. /^a\R*b/8<bsr_unicode>
  616. ab
  617. 0: ab
  618. a\nb
  619. 0: a\x{0a}b
  620. a\rb
  621. 0: a\x{0d}b
  622. a\r\nb
  623. 0: a\x{0d}\x{0a}b
  624. a\x0bb
  625. 0: a\x{0b}b
  626. a\x0c\x{2028}\x{2029}b
  627. 0: a\x{0c}\x{2028}\x{2029}b
  628. a\x{85}b
  629. 0: a\x{85}b
  630. a\n\rb
  631. 0: a\x{0a}\x{0d}b
  632. a\n\r\x{85}\x0cb
  633. 0: a\x{0a}\x{0d}\x{85}\x{0c}b
  634. /^a\R+b/8<bsr_unicode>
  635. a\nb
  636. 0: a\x{0a}b
  637. a\rb
  638. 0: a\x{0d}b
  639. a\r\nb
  640. 0: a\x{0d}\x{0a}b
  641. a\x0bb
  642. 0: a\x{0b}b
  643. a\x0c\x{2028}\x{2029}b
  644. 0: a\x{0c}\x{2028}\x{2029}b
  645. a\x{85}b
  646. 0: a\x{85}b
  647. a\n\rb
  648. 0: a\x{0a}\x{0d}b
  649. a\n\r\x{85}\x0cb
  650. 0: a\x{0a}\x{0d}\x{85}\x{0c}b
  651. ** Failers
  652. No match
  653. ab
  654. No match
  655. /^a\R{1,3}b/8<bsr_unicode>
  656. a\nb
  657. 0: a\x{0a}b
  658. a\n\rb
  659. 0: a\x{0a}\x{0d}b
  660. a\n\r\x{85}b
  661. 0: a\x{0a}\x{0d}\x{85}b
  662. a\r\n\r\nb
  663. 0: a\x{0d}\x{0a}\x{0d}\x{0a}b
  664. a\r\n\r\n\r\nb
  665. 0: a\x{0d}\x{0a}\x{0d}\x{0a}\x{0d}\x{0a}b
  666. a\n\r\n\rb
  667. 0: a\x{0a}\x{0d}\x{0a}\x{0d}b
  668. a\n\n\r\nb
  669. 0: a\x{0a}\x{0a}\x{0d}\x{0a}b
  670. ** Failers
  671. No match
  672. a\n\n\n\rb
  673. No match
  674. a\r
  675. No match
  676. /\H\h\V\v/8
  677. X X\x0a
  678. 0: X X\x{0a}
  679. X\x09X\x0b
  680. 0: X\x{09}X\x{0b}
  681. ** Failers
  682. No match
  683. \x{a0} X\x0a
  684. No match
  685. /\H*\h+\V?\v{3,4}/8
  686. \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
  687. 0: \x{09} \x{a0}X\x{0a}\x{0b}\x{0c}\x{0d}
  688. \x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a
  689. 0: \x{09} \x{a0}\x{0a}\x{0b}\x{0c}\x{0d}
  690. \x09\x20\x{a0}\x0a\x0b\x0c
  691. 0: \x{09} \x{a0}\x{0a}\x{0b}\x{0c}
  692. ** Failers
  693. No match
  694. \x09\x20\x{a0}\x0a\x0b
  695. No match
  696. /\H\h\V\v/8
  697. \x{3001}\x{3000}\x{2030}\x{2028}
  698. 0: \x{3001}\x{3000}\x{2030}\x{2028}
  699. X\x{180e}X\x{85}
  700. 0: X\x{180e}X\x{85}
  701. ** Failers
  702. No match
  703. \x{2009} X\x0a
  704. No match
  705. /\H*\h+\V?\v{3,4}/8
  706. \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x0c\x0d\x0a
  707. 0: \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x{0c}\x{0d}
  708. \x09\x{205f}\x{a0}\x0a\x{2029}\x0c\x{2028}\x0a
  709. 0: \x{09}\x{205f}\x{a0}\x{0a}\x{2029}\x{0c}\x{2028}
  710. \x09\x20\x{202f}\x0a\x0b\x0c
  711. 0: \x{09} \x{202f}\x{0a}\x{0b}\x{0c}
  712. ** Failers
  713. No match
  714. \x09\x{200a}\x{a0}\x{2028}\x0b
  715. No match
  716. /[\h]/8BZ
  717. ------------------------------------------------------------------
  718. Bra
  719. [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]
  720. Ket
  721. End
  722. ------------------------------------------------------------------
  723. >\x{1680}
  724. 0: \x{1680}
  725. /[\h]{3,}/8BZ
  726. ------------------------------------------------------------------
  727. Bra
  728. [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]{3,}+
  729. Ket
  730. End
  731. ------------------------------------------------------------------
  732. >\x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000}<
  733. 0: \x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000}
  734. /[\v]/8BZ
  735. ------------------------------------------------------------------
  736. Bra
  737. [\x0a-\x0d\x85\x{2028}-\x{2029}]
  738. Ket
  739. End
  740. ------------------------------------------------------------------
  741. /[\H]/8BZ
  742. ------------------------------------------------------------------
  743. Bra
  744. [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff\x{100}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{10ffff}]
  745. Ket
  746. End
  747. ------------------------------------------------------------------
  748. /[\V]/8BZ
  749. ------------------------------------------------------------------
  750. Bra
  751. [\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{202a}-\x{10ffff}]
  752. Ket
  753. End
  754. ------------------------------------------------------------------
  755. /.*$/8<any>
  756. \x{1ec5}
  757. 0: \x{1ec5}
  758. /a\Rb/I8<bsr_anycrlf>
  759. Capturing subpattern count = 0
  760. Options: bsr_anycrlf utf
  761. First char = 'a'
  762. Need char = 'b'
  763. a\rb
  764. 0: a\x{0d}b
  765. a\nb
  766. 0: a\x{0a}b
  767. a\r\nb
  768. 0: a\x{0d}\x{0a}b
  769. ** Failers
  770. No match
  771. a\x{85}b
  772. No match
  773. a\x0bb
  774. No match
  775. /a\Rb/I8<bsr_unicode>
  776. Capturing subpattern count = 0
  777. Options: bsr_unicode utf
  778. First char = 'a'
  779. Need char = 'b'
  780. a\rb
  781. 0: a\x{0d}b
  782. a\nb
  783. 0: a\x{0a}b
  784. a\r\nb
  785. 0: a\x{0d}\x{0a}b
  786. a\x{85}b
  787. 0: a\x{85}b
  788. a\x0bb
  789. 0: a\x{0b}b
  790. ** Failers
  791. No match
  792. a\x{85}b\<bsr_anycrlf>
  793. No match
  794. a\x0bb\<bsr_anycrlf>
  795. No match
  796. /a\R?b/I8<bsr_anycrlf>
  797. Capturing subpattern count = 0
  798. Options: bsr_anycrlf utf
  799. First char = 'a'
  800. Need char = 'b'
  801. a\rb
  802. 0: a\x{0d}b
  803. a\nb
  804. 0: a\x{0a}b
  805. a\r\nb
  806. 0: a\x{0d}\x{0a}b
  807. ** Failers
  808. No match
  809. a\x{85}b
  810. No match
  811. a\x0bb
  812. No match
  813. /a\R?b/I8<bsr_unicode>
  814. Capturing subpattern count = 0
  815. Options: bsr_unicode utf
  816. First char = 'a'
  817. Need char = 'b'
  818. a\rb
  819. 0: a\x{0d}b
  820. a\nb
  821. 0: a\x{0a}b
  822. a\r\nb
  823. 0: a\x{0d}\x{0a}b
  824. a\x{85}b
  825. 0: a\x{85}b
  826. a\x0bb
  827. 0: a\x{0b}b
  828. ** Failers
  829. No match
  830. a\x{85}b\<bsr_anycrlf>
  831. No match
  832. a\x0bb\<bsr_anycrlf>
  833. No match
  834. /.*a.*=.b.*/8<ANY>
  835. QQQ\x{2029}ABCaXYZ=!bPQR
  836. 0: ABCaXYZ=!bPQR
  837. ** Failers
  838. No match
  839. a\x{2029}b
  840. No match
  841. \x61\xe2\x80\xa9\x62
  842. No match
  843. /[[:a\x{100}b:]]/8
  844. Failed: unknown POSIX class name at offset 3
  845. /a[^]b/<JS>8
  846. a\x{1234}b
  847. 0: a\x{1234}b
  848. a\nb
  849. 0: a\x{0a}b
  850. ** Failers
  851. No match
  852. ab
  853. No match
  854. /a[^]+b/<JS>8
  855. aXb
  856. 0: aXb
  857. a\nX\nX\x{1234}b
  858. 0: a\x{0a}X\x{0a}X\x{1234}b
  859. ** Failers
  860. No match
  861. ab
  862. No match
  863. /(\x{de})\1/
  864. \x{de}\x{de}
  865. 0: \xde\xde
  866. 1: \xde
  867. /X/8f<any>
  868. A\x{1ec5}ABCXYZ
  869. 0: X
  870. /Xa{2,4}b/8
  871. X\P
  872. Partial match: X
  873. Xa\P
  874. Partial match: Xa
  875. Xaa\P
  876. Partial match: Xaa
  877. Xaaa\P
  878. Partial match: Xaaa
  879. Xaaaa\P
  880. Partial match: Xaaaa
  881. /Xa{2,4}?b/8
  882. X\P
  883. Partial match: X
  884. Xa\P
  885. Partial match: Xa
  886. Xaa\P
  887. Partial match: Xaa
  888. Xaaa\P
  889. Partial match: Xaaa
  890. Xaaaa\P
  891. Partial match: Xaaaa
  892. /Xa{2,4}+b/8
  893. X\P
  894. Partial match: X
  895. Xa\P
  896. Partial match: Xa
  897. Xaa\P
  898. Partial match: Xaa
  899. Xaaa\P
  900. Partial match: Xaaa
  901. Xaaaa\P
  902. Partial match: Xaaaa
  903. /X\x{123}{2,4}b/8
  904. X\P
  905. Partial match: X
  906. X\x{123}\P
  907. Partial match: X\x{123}
  908. X\x{123}\x{123}\P
  909. Partial match: X\x{123}\x{123}
  910. X\x{123}\x{123}\x{123}\P
  911. Partial match: X\x{123}\x{123}\x{123}
  912. X\x{123}\x{123}\x{123}\x{123}\P
  913. Partial match: X\x{123}\x{123}\x{123}\x{123}
  914. /X\x{123}{2,4}?b/8
  915. X\P
  916. Partial match: X
  917. X\x{123}\P
  918. Partial match: X\x{123}
  919. X\x{123}\x{123}\P
  920. Partial match: X\x{123}\x{123}
  921. X\x{123}\x{123}\x{123}\P
  922. Partial match: X\x{123}\x{123}\x{123}
  923. X\x{123}\x{123}\x{123}\x{123}\P
  924. Partial match: X\x{123}\x{123}\x{123}\x{123}
  925. /X\x{123}{2,4}+b/8
  926. X\P
  927. Partial match: X
  928. X\x{123}\P
  929. Partial match: X\x{123}
  930. X\x{123}\x{123}\P
  931. Partial match: X\x{123}\x{123}
  932. X\x{123}\x{123}\x{123}\P
  933. Partial match: X\x{123}\x{123}\x{123}
  934. X\x{123}\x{123}\x{123}\x{123}\P
  935. Partial match: X\x{123}\x{123}\x{123}\x{123}
  936. /X\x{123}{2,4}b/8
  937. Xx\P
  938. No match
  939. X\x{123}x\P
  940. No match
  941. X\x{123}\x{123}x\P
  942. No match
  943. X\x{123}\x{123}\x{123}x\P
  944. No match
  945. X\x{123}\x{123}\x{123}\x{123}x\P
  946. No match
  947. /X\x{123}{2,4}?b/8
  948. Xx\P
  949. No match
  950. X\x{123}x\P
  951. No match
  952. X\x{123}\x{123}x\P
  953. No match
  954. X\x{123}\x{123}\x{123}x\P
  955. No match
  956. X\x{123}\x{123}\x{123}\x{123}x\P
  957. No match
  958. /X\x{123}{2,4}+b/8
  959. Xx\P
  960. No match
  961. X\x{123}x\P
  962. No match
  963. X\x{123}\x{123}x\P
  964. No match
  965. X\x{123}\x{123}\x{123}x\P
  966. No match
  967. X\x{123}\x{123}\x{123}\x{123}x\P
  968. No match
  969. /X\d{2,4}b/8
  970. X\P
  971. Partial match: X
  972. X3\P
  973. Partial match: X3
  974. X33\P
  975. Partial match: X33
  976. X333\P
  977. Partial match: X333
  978. X3333\P
  979. Partial match: X3333
  980. /X\d{2,4}?b/8
  981. X\P
  982. Partial match: X
  983. X3\P
  984. Partial match: X3
  985. X33\P
  986. Partial match: X33
  987. X333\P
  988. Partial match: X333
  989. X3333\P
  990. Partial match: X3333
  991. /X\d{2,4}+b/8
  992. X\P
  993. Partial match: X
  994. X3\P
  995. Partial match: X3
  996. X33\P
  997. Partial match: X33
  998. X333\P
  999. Partial match: X333
  1000. X3333\P
  1001. Partial match: X3333
  1002. /X\D{2,4}b/8
  1003. X\P
  1004. Partial match: X
  1005. Xa\P
  1006. Partial match: Xa
  1007. Xaa\P
  1008. Partial match: Xaa
  1009. Xaaa\P
  1010. Partial match: Xaaa
  1011. Xaaaa\P
  1012. Partial match: Xaaaa
  1013. /X\D{2,4}?b/8
  1014. X\P
  1015. Partial match: X
  1016. Xa\P
  1017. Partial match: Xa
  1018. Xaa\P
  1019. Partial match: Xaa
  1020. Xaaa\P
  1021. Partial match: Xaaa
  1022. Xaaaa\P
  1023. Partial match: Xaaaa
  1024. /X\D{2,4}+b/8
  1025. X\P
  1026. Partial match: X
  1027. Xa\P
  1028. Partial match: Xa
  1029. Xaa\P
  1030. Partial match: Xaa
  1031. Xaaa\P
  1032. Partial match: Xaaa
  1033. Xaaaa\P
  1034. Partial match: Xaaaa
  1035. /X\D{2,4}b/8
  1036. X\P
  1037. Partial match: X
  1038. X\x{123}\P
  1039. Partial match: X\x{123}
  1040. X\x{123}\x{123}\P
  1041. Partial match: X\x{123}\x{123}
  1042. X\x{123}\x{123}\x{123}\P
  1043. Partial match: X\x{123}\x{123}\x{123}
  1044. X\x{123}\x{123}\x{123}\x{123}\P
  1045. Partial match: X\x{123}\x{123}\x{123}\x{123}
  1046. /X\D{2,4}?b/8
  1047. X\P
  1048. Partial match: X
  1049. X\x{123}\P
  1050. Partial match: X\x{123}
  1051. X\x{123}\x{123}\P
  1052. Partial match: X\x{123}\x{123}
  1053. X\x{123}\x{123}\x{123}\P
  1054. Partial match: X\x{123}\x{123}\x{123}
  1055. X\x{123}\x{123}\x{123}\x{123}\P
  1056. Partial match: X\x{123}\x{123}\x{123}\x{123}
  1057. /X\D{2,4}+b/8
  1058. X\P
  1059. Partial match: X
  1060. X\x{123}\P
  1061. Partial match: X\x{123}
  1062. X\x{123}\x{123}\P
  1063. Partial match: X\x{123}\x{123}
  1064. X\x{123}\x{123}\x{123}\P
  1065. Partial match: X\x{123}\x{123}\x{123}
  1066. X\x{123}\x{123}\x{123}\x{123}\P
  1067. Partial match: X\x{123}\x{123}\x{123}\x{123}
  1068. /X[abc]{2,4}b/8
  1069. X\P
  1070. Partial match: X
  1071. Xa\P
  1072. Partial match: Xa
  1073. Xaa\P
  1074. Partial match: Xaa
  1075. Xaaa\P
  1076. Partial match: Xaaa
  1077. Xaaaa\P
  1078. Partial match: Xaaaa
  1079. /X[abc]{2,4}?b/8
  1080. X\P
  1081. Partial match: X
  1082. Xa\P
  1083. Partial match: Xa
  1084. Xaa\P
  1085. Partial match: Xaa
  1086. Xaaa\P
  1087. Partial match: Xaaa
  1088. Xaaaa\P
  1089. Partial match: Xaaaa
  1090. /X[abc]{2,4}+b/8
  1091. X\P
  1092. Partial match: X
  1093. Xa\P
  1094. Partial match: Xa
  1095. Xaa\P
  1096. Partial match: Xaa
  1097. Xaaa\P
  1098. Partial match: Xaaa
  1099. Xaaaa\P
  1100. Partial match: Xaaaa
  1101. /X[abc\x{123}]{2,4}b/8
  1102. X\P
  1103. Partial match: X
  1104. X\x{123}\P
  1105. Partial match: X\x{123}
  1106. X\x{123}\x{123}\P
  1107. Partial match: X\x{123}\x{123}
  1108. X\x{123}\x{123}\x{123}\P
  1109. Partial match: X\x{123}\x{123}\x{123}
  1110. X\x{123}\x{123}\x{123}\x{123}\P
  1111. Partial match: X\x{123}\x{123}\x{123}\x{123}
  1112. /X[abc\x{123}]{2,4}?b/8
  1113. X\P
  1114. Partial match: X
  1115. X\x{123}\P
  1116. Partial match: X\x{123}
  1117. X\x{123}\x{123}\P
  1118. Partial match: X\x{123}\x{123}
  1119. X\x{123}\x{123}\x{123}\P
  1120. Partial match: X\x{123}\x{123}\x{123}
  1121. X\x{123}\x{123}\x{123}\x{123}\P
  1122. Partial match: X\x{123}\x{123}\x{123}\x{123}
  1123. /X[abc\x{123}]{2,4}+b/8
  1124. X\P
  1125. Partial match: X
  1126. X\x{123}\P
  1127. Partial match: X\x{123}
  1128. X\x{123}\x{123}\P
  1129. Partial match: X\x{123}\x{123}
  1130. X\x{123}\x{123}\x{123}\P
  1131. Partial match: X\x{123}\x{123}\x{123}
  1132. X\x{123}\x{123}\x{123}\x{123}\P
  1133. Partial match: X\x{123}\x{123}\x{123}\x{123}
  1134. /X[^a]{2,4}b/8
  1135. X\P
  1136. Partial match: X
  1137. Xz\P
  1138. Partial match: Xz
  1139. Xzz\P
  1140. Partial match: Xzz
  1141. Xzzz\P
  1142. Partial match: Xzzz
  1143. Xzzzz\P
  1144. Partial match: Xzzzz
  1145. /X[^a]{2,4}?b/8
  1146. X\P
  1147. Partial match: X
  1148. Xz\P
  1149. Partial match: Xz
  1150. Xzz\P
  1151. Partial match: Xzz
  1152. Xzzz\P
  1153. Partial match: Xzzz
  1154. Xzzzz\P
  1155. Partial match: Xzzzz
  1156. /X[^a]{2,4}+b/8
  1157. X\P
  1158. Partial match: X
  1159. Xz\P
  1160. Partial match: Xz
  1161. Xzz\P
  1162. Partial match: Xzz
  1163. Xzzz\P
  1164. Partial match: Xzzz
  1165. Xzzzz\P
  1166. Partial match: Xzzzz
  1167. /X[^a]{2,4}b/8
  1168. X\P
  1169. Partial match: X
  1170. X\x{123}\P
  1171. Partial match: X\x{123}
  1172. X\x{123}\x{123}\P
  1173. Partial match: X\x{123}\x{123}
  1174. X\x{123}\x{123}\x{123}\P
  1175. Partial match: X\x{123}\x{123}\x{123}
  1176. X\x{123}\x{123}\x{123}\x{123}\P
  1177. Partial match: X\x{123}\x{123}\x{123}\x{123}
  1178. /X[^a]{2,4}?b/8
  1179. X\P
  1180. Partial match: X
  1181. X\x{123}\P
  1182. Partial match: X\x{123}
  1183. X\x{123}\x{123}\P
  1184. Partial match: X\x{123}\x{123}
  1185. X\x{123}\x{123}\x{123}\P
  1186. Partial match: X\x{123}\x{123}\x{123}
  1187. X\x{123}\x{123}\x{123}\x{123}\P
  1188. Partial match: X\x{123}\x{123}\x{123}\x{123}
  1189. /X[^a]{2,4}+b/8
  1190. X\P
  1191. Partial match: X
  1192. X\x{123}\P
  1193. Partial match: X\x{123}
  1194. X\x{123}\x{123}\P
  1195. Partial match: X\x{123}\x{123}
  1196. X\x{123}\x{123}\x{123}\P
  1197. Partial match: X\x{123}\x{123}\x{123}
  1198. X\x{123}\x{123}\x{123}\x{123}\P
  1199. Partial match: X\x{123}\x{123}\x{123}\x{123}
  1200. /(Y)X\1{2,4}b/8
  1201. YX\P
  1202. Partial match: YX
  1203. YXY\P
  1204. Partial match: YXY
  1205. YXYY\P
  1206. Partial match: YXYY
  1207. YXYYY\P
  1208. Partial match: YXYYY
  1209. YXYYYY\P
  1210. Partial match: YXYYYY
  1211. /(Y)X\1{2,4}?b/8
  1212. YX\P
  1213. Partial match: YX
  1214. YXY\P
  1215. Partial match: YXY
  1216. YXYY\P
  1217. Partial match: YXYY
  1218. YXYYY\P
  1219. Partial match: YXYYY
  1220. YXYYYY\P
  1221. Partial match: YXYYYY
  1222. /(Y)X\1{2,4}+b/8
  1223. YX\P
  1224. Partial match: YX
  1225. YXY\P
  1226. Partial match: YXY
  1227. YXYY\P
  1228. Partial match: YXYY
  1229. YXYYY\P
  1230. Partial match: YXYYY
  1231. YXYYYY\P
  1232. Partial match: YXYYYY
  1233. /(\x{123})X\1{2,4}b/8
  1234. \x{123}X\P
  1235. Partial match: \x{123}X
  1236. \x{123}X\x{123}\P
  1237. Partial match: \x{123}X\x{123}
  1238. \x{123}X\x{123}\x{123}\P
  1239. Partial match: \x{123}X\x{123}\x{123}
  1240. \x{123}X\x{123}\x{123}\x{123}\P
  1241. Partial match: \x{123}X\x{123}\x{123}\x{123}
  1242. \x{123}X\x{123}\x{123}\x{123}\x{123}\P
  1243. Partial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
  1244. /(\x{123})X\1{2,4}?b/8
  1245. \x{123}X\P
  1246. Partial match: \x{123}X
  1247. \x{123}X\x{123}\P
  1248. Partial match: \x{123}X\x{123}
  1249. \x{123}X\x{123}\x{123}\P
  1250. Partial match: \x{123}X\x{123}\x{123}
  1251. \x{123}X\x{123}\x{123}\x{123}\P
  1252. Partial match: \x{123}X\x{123}\x{123}\x{123}
  1253. \x{123}X\x{123}\x{123}\x{123}\x{123}\P
  1254. Partial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
  1255. /(\x{123})X\1{2,4}+b/8
  1256. \x{123}X\P
  1257. Partial match: \x{123}X
  1258. \x{123}X\x{123}\P
  1259. Partial match: \x{123}X\x{123}
  1260. \x{123}X\x{123}\x{123}\P
  1261. Partial match: \x{123}X\x{123}\x{123}
  1262. \x{123}X\x{123}\x{123}\x{123}\P
  1263. Partial match: \x{123}X\x{123}\x{123}\x{123}
  1264. \x{123}X\x{123}\x{123}\x{123}\x{123}\P
  1265. Partial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
  1266. /\bthe cat\b/8
  1267. the cat\P
  1268. 0: the cat
  1269. the cat\P\P
  1270. Partial match: the cat
  1271. /abcd*/8
  1272. xxxxabcd\P
  1273. 0: abcd
  1274. xxxxabcd\P\P
  1275. Partial match: abcd
  1276. /abcd*/i8
  1277. xxxxabcd\P
  1278. 0: abcd
  1279. xxxxabcd\P\P
  1280. Partial match: abcd
  1281. XXXXABCD\P
  1282. 0: ABCD
  1283. XXXXABCD\P\P
  1284. Partial match: ABCD
  1285. /abc\d*/8
  1286. xxxxabc1\P
  1287. 0: abc1
  1288. xxxxabc1\P\P
  1289. Partial match: abc1
  1290. /(a)bc\1*/8
  1291. xxxxabca\P
  1292. 0: abca
  1293. 1: a
  1294. xxxxabca\P\P
  1295. Partial match: abca
  1296. /abc[de]*/8
  1297. xxxxabcde\P
  1298. 0: abcde
  1299. xxxxabcde\P\P
  1300. Partial match: abcde
  1301. /X\W{3}X/8
  1302. \PX
  1303. Partial match: X
  1304. /\sxxx\s/8T1
  1305. AB\x{85}xxx\x{a0}XYZ
  1306. 0: \x{85}xxx\x{a0}
  1307. AB\x{a0}xxx\x{85}XYZ
  1308. 0: \x{a0}xxx\x{85}
  1309. /\S \S/8T1
  1310. \x{a2} \x{84}
  1311. 0: \x{a2} \x{84}
  1312. 'A#хц'8x<any>BZ
  1313. ------------------------------------------------------------------
  1314. Bra
  1315. A
  1316. Ket
  1317. End
  1318. ------------------------------------------------------------------
  1319. 'A#хц
  1320. PQ'8x<any>BZ
  1321. ------------------------------------------------------------------
  1322. Bra
  1323. APQ
  1324. Ket
  1325. End
  1326. ------------------------------------------------------------------
  1327. /a+#хaa
  1328. z#XX?/8x<any>BZ
  1329. ------------------------------------------------------------------
  1330. Bra
  1331. a++
  1332. z
  1333. Ket
  1334. End
  1335. ------------------------------------------------------------------
  1336. /a+#хaa
  1337. z#х?/8x<any>BZ
  1338. ------------------------------------------------------------------
  1339. Bra
  1340. a++
  1341. z
  1342. Ket
  1343. End
  1344. ------------------------------------------------------------------
  1345. /\g{A}xxx#bXX(?'A'123) (?'A'456)/8x<any>BZ
  1346. ------------------------------------------------------------------
  1347. Bra
  1348. \1
  1349. xxx
  1350. CBra 1
  1351. 456
  1352. Ket
  1353. Ket
  1354. End
  1355. ------------------------------------------------------------------
  1356. /\g{A}xxx#bх(?'A'123) (?'A'456)/8x<any>BZ
  1357. ------------------------------------------------------------------
  1358. Bra
  1359. \1
  1360. xxx
  1361. CBra 1
  1362. 456
  1363. Ket
  1364. Ket
  1365. End
  1366. ------------------------------------------------------------------
  1367. /^\cģ/8
  1368. Failed: \c must be followed by an ASCII character at offset 3
  1369. /(\R*)(.)/s8
  1370. \r\n
  1371. 0: \x{0d}
  1372. 1:
  1373. 2: \x{0d}
  1374. \r\r\n\n\r
  1375. 0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
  1376. 1: \x{0d}\x{0d}\x{0a}\x{0a}
  1377. 2: \x{0d}
  1378. \r\r\n\n\r\n
  1379. 0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
  1380. 1: \x{0d}\x{0d}\x{0a}\x{0a}
  1381. 2: \x{0d}
  1382. /(\R)*(.)/s8
  1383. \r\n
  1384. 0: \x{0d}
  1385. 1: <unset>
  1386. 2: \x{0d}
  1387. \r\r\n\n\r
  1388. 0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
  1389. 1: \x{0a}
  1390. 2: \x{0d}
  1391. \r\r\n\n\r\n
  1392. 0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
  1393. 1: \x{0a}
  1394. 2: \x{0d}
  1395. /[^\x{1234}]+/iS8I
  1396. Capturing subpattern count = 0
  1397. Options: caseless utf
  1398. No first char
  1399. No need char
  1400. Subject length lower bound = 1
  1401. No starting char list
  1402. /[^\x{1234}]+?/iS8I
  1403. Capturing subpattern count = 0
  1404. Options: caseless utf
  1405. No first char
  1406. No need char
  1407. Subject length lower bound = 1
  1408. No starting char list
  1409. /[^\x{1234}]++/iS8I
  1410. Capturing subpattern count = 0
  1411. Options: caseless utf
  1412. No first char
  1413. No need char
  1414. Subject length lower bound = 1
  1415. No starting char list
  1416. /[^\x{1234}]{2}/iS8I
  1417. Capturing subpattern count = 0
  1418. Options: caseless utf
  1419. No first char
  1420. No need char
  1421. Subject length lower bound = 2
  1422. No starting char list
  1423. //<bsr_anycrlf><bsr_unicode>
  1424. Failed: inconsistent NEWLINE options at offset 0
  1425. /f.*/
  1426. \P\Pfor
  1427. Partial match: for
  1428. /f.*/s
  1429. \P\Pfor
  1430. Partial match: for
  1431. /f.*/8
  1432. \P\Pfor
  1433. Partial match: for
  1434. /f.*/8s
  1435. \P\Pfor
  1436. Partial match: for
  1437. /\x{d7ff}\x{e000}/8
  1438. /\x{d800}/8
  1439. Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
  1440. /\x{dfff}/8
  1441. Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
  1442. /\h+/8
  1443. \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
  1444. 0: \x{1680}\x{2000}\x{202f}\x{3000}
  1445. \x{3001}\x{2fff}\x{200a}\x{a0}\x{2000}
  1446. 0: \x{200a}\x{a0}\x{2000}
  1447. /[\h\x{e000}]+/8BZ
  1448. ------------------------------------------------------------------
  1449. Bra
  1450. [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}\x{e000}]++
  1451. Ket
  1452. End
  1453. ------------------------------------------------------------------
  1454. \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
  1455. 0: \x{1680}\x{2000}\x{202f}\x{3000}
  1456. \x{3001}\x{2fff}\x{200a}\x{a0}\x{2000}
  1457. 0: \x{200a}\x{a0}\x{2000}
  1458. /\H+/8
  1459. \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
  1460. 0: \x{167f}\x{1681}\x{180d}\x{180f}
  1461. \x{2000}\x{200a}\x{1fff}\x{200b}
  1462. 0: \x{1fff}\x{200b}
  1463. \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
  1464. 0: \x{202e}\x{2030}\x{205e}\x{2060}
  1465. \x{a0}\x{3000}\x{9f}\x{a1}\x{2fff}\x{3001}
  1466. 0: \x{9f}\x{a1}\x{2fff}\x{3001}
  1467. /[\H\x{d7ff}]+/8BZ
  1468. ------------------------------------------------------------------
  1469. Bra
  1470. [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff\x{100}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{10ffff}\x{d7ff}]++
  1471. Ket
  1472. End
  1473. ------------------------------------------------------------------
  1474. \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
  1475. 0: \x{167f}\x{1681}\x{180d}\x{180f}
  1476. \x{2000}\x{200a}\x{1fff}\x{200b}
  1477. 0: \x{1fff}\x{200b}
  1478. \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
  1479. 0: \x{202e}\x{2030}\x{205e}\x{2060}
  1480. \x{a0}\x{3000}\x{9f}\x{a1}\x{2fff}\x{3001}
  1481. 0: \x{9f}\x{a1}\x{2fff}\x{3001}
  1482. /\v+/8
  1483. \x{2027}\x{2030}\x{2028}\x{2029}
  1484. 0: \x{2028}\x{2029}
  1485. \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
  1486. 0: \x{85}\x{0a}\x{0b}\x{0c}\x{0d}
  1487. /[\v\x{e000}]+/8BZ
  1488. ------------------------------------------------------------------
  1489. Bra
  1490. [\x0a-\x0d\x85\x{2028}-\x{2029}\x{e000}]++
  1491. Ket
  1492. End
  1493. ------------------------------------------------------------------
  1494. \x{2027}\x{2030}\x{2028}\x{2029}
  1495. 0: \x{2028}\x{2029}
  1496. \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
  1497. 0: \x{85}\x{0a}\x{0b}\x{0c}\x{0d}
  1498. /\V+/8
  1499. \x{2028}\x{2029}\x{2027}\x{2030}
  1500. 0: \x{2027}\x{2030}
  1501. \x{85}\x0a\x0b\x0c\x0d\x09\x0e\x{84}\x{86}
  1502. 0: \x{09}\x{0e}\x{84}\x{86}
  1503. /[\V\x{d7ff}]+/8BZ
  1504. ------------------------------------------------------------------
  1505. Bra
  1506. [\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{202a}-\x{10ffff}\x{d7ff}]++
  1507. Ket
  1508. End
  1509. ------------------------------------------------------------------
  1510. \x{2028}\x{2029}\x{2027}\x{2030}
  1511. 0: \x{2027}\x{2030}
  1512. \x{85}\x0a\x0b\x0c\x0d\x09\x0e\x{84}\x{86}
  1513. 0: \x{09}\x{0e}\x{84}\x{86}
  1514. /\R+/8<bsr_unicode>
  1515. \x{2027}\x{2030}\x{2028}\x{2029}
  1516. 0: \x{2028}\x{2029}
  1517. \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
  1518. 0: \x{85}\x{0a}\x{0b}\x{0c}\x{0d}
  1519. /(..)\1/8
  1520. ab\P
  1521. Partial match: ab
  1522. aba\P
  1523. Partial match: aba
  1524. abab\P
  1525. 0: abab
  1526. 1: ab
  1527. /(..)\1/8i
  1528. ab\P
  1529. Partial match: ab
  1530. abA\P
  1531. Partial match: abA
  1532. aBAb\P
  1533. 0: aBAb
  1534. 1: aB
  1535. /(..)\1{2,}/8
  1536. ab\P
  1537. Partial match: ab
  1538. aba\P
  1539. Partial match: aba
  1540. abab\P
  1541. Partial match: abab
  1542. ababa\P
  1543. Partial match: ababa
  1544. ababab\P
  1545. 0: ababab
  1546. 1: ab
  1547. ababab\P\P
  1548. Partial match: ababab
  1549. abababa\P
  1550. 0: ababab
  1551. 1: ab
  1552. abababa\P\P
  1553. Partial match: abababa
  1554. /(..)\1{2,}/8i
  1555. ab\P
  1556. Partial match: ab
  1557. aBa\P
  1558. Partial match: aBa
  1559. aBAb\P
  1560. Partial match: aBAb
  1561. AbaBA\P
  1562. Partial match: AbaBA
  1563. abABAb\P
  1564. 0: abABAb
  1565. 1: ab
  1566. aBAbaB\P\P
  1567. Partial match: aBAbaB
  1568. abABabA\P
  1569. 0: abABab
  1570. 1: ab
  1571. abaBABa\P\P
  1572. Partial match: abaBABa
  1573. /(..)\1{2,}?x/8i
  1574. ab\P
  1575. Partial match: ab
  1576. abA\P
  1577. Partial match: abA
  1578. aBAb\P
  1579. Partial match: aBAb
  1580. abaBA\P
  1581. Partial match: abaBA
  1582. abAbaB\P
  1583. Partial match: abAbaB
  1584. abaBabA\P
  1585. Partial match: abaBabA
  1586. abAbABaBx\P
  1587. 0: abAbABaBx
  1588. 1: ab
  1589. /./8<CRLF>
  1590. \r\P
  1591. 0: \x{0d}
  1592. \r\P\P
  1593. Partial match: \x{0d}
  1594. /.{2,3}/8<CRLF>
  1595. \r\P
  1596. Partial match: \x{0d}
  1597. \r\P\P
  1598. Partial match: \x{0d}
  1599. \r\r\P
  1600. 0: \x{0d}\x{0d}
  1601. \r\r\P\P
  1602. Partial match: \x{0d}\x{0d}
  1603. \r\r\r\P
  1604. 0: \x{0d}\x{0d}\x{0d}
  1605. \r\r\r\P\P
  1606. Partial match: \x{0d}\x{0d}\x{0d}
  1607. /.{2,3}?/8<CRLF>
  1608. \r\P
  1609. Partial match: \x{0d}
  1610. \r\P\P
  1611. Partial match: \x{0d}
  1612. \r\r\P
  1613. 0: \x{0d}\x{0d}
  1614. \r\r\P\P
  1615. Partial match: \x{0d}\x{0d}
  1616. \r\r\r\P
  1617. 0: \x{0d}\x{0d}
  1618. \r\r\r\P\P
  1619. 0: \x{0d}\x{0d}
  1620. /[^\x{100}][^\x{1234}][^\x{ffff}][^\x{10000}][^\x{10ffff}]/8BZ
  1621. ------------------------------------------------------------------
  1622. Bra
  1623. [^\x{100}]
  1624. [^\x{1234}]
  1625. [^\x{ffff}]
  1626. [^\x{10000}]
  1627. [^\x{10ffff}]
  1628. Ket
  1629. End
  1630. ------------------------------------------------------------------
  1631. /[^\x{100}][^\x{1234}][^\x{ffff}][^\x{10000}][^\x{10ffff}]/8BZi
  1632. ------------------------------------------------------------------
  1633. Bra
  1634. /i [^\x{100}]
  1635. /i [^\x{1234}]
  1636. /i [^\x{ffff}]
  1637. /i [^\x{10000}]
  1638. /i [^\x{10ffff}]
  1639. Ket
  1640. End
  1641. ------------------------------------------------------------------
  1642. /[^\x{100}]*[^\x{10000}]+[^\x{10ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{fffff}]{5,6}+/8BZ
  1643. ------------------------------------------------------------------
  1644. Bra
  1645. [^\x{100}]*
  1646. [^\x{10000}]+
  1647. [^\x{10ffff}]??
  1648. [^\x{8000}]{4}
  1649. [^\x{8000}]*
  1650. [^\x{7fff}]{2}
  1651. [^\x{7fff}]{0,7}?
  1652. [^\x{fffff}]{5}
  1653. [^\x{fffff}]?+
  1654. Ket
  1655. End
  1656. ------------------------------------------------------------------
  1657. /[^\x{100}]*[^\x{10000}]+[^\x{10ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{fffff}]{5,6}+/8BZi
  1658. ------------------------------------------------------------------
  1659. Bra
  1660. /i [^\x{100}]*
  1661. /i [^\x{10000}]+
  1662. /i [^\x{10ffff}]??
  1663. /i [^\x{8000}]{4}
  1664. /i [^\x{8000}]*
  1665. /i [^\x{7fff}]{2}
  1666. /i [^\x{7fff}]{0,7}?
  1667. /i [^\x{fffff}]{5}
  1668. /i [^\x{fffff}]?+
  1669. Ket
  1670. End
  1671. ------------------------------------------------------------------
  1672. /(?<=\x{1234}\x{1234})\bxy/I8
  1673. Capturing subpattern count = 0
  1674. Max lookbehind = 2
  1675. Options: utf
  1676. First char = 'x'
  1677. Need char = 'y'
  1678. /(?<!^)ETA/8
  1679. ETA
  1680. No match
  1681. /\u0100/<JS>8BZ
  1682. ------------------------------------------------------------------
  1683. Bra
  1684. \x{100}
  1685. Ket
  1686. End
  1687. ------------------------------------------------------------------
  1688. /[\u0100-\u0200]/<JS>8BZ
  1689. ------------------------------------------------------------------
  1690. Bra
  1691. [\x{100}-\x{200}]
  1692. Ket
  1693. End
  1694. ------------------------------------------------------------------
  1695. /\ud800/<JS>8
  1696. Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 5
  1697. /^a+[a\x{200}]/8BZ
  1698. ------------------------------------------------------------------
  1699. Bra
  1700. ^
  1701. a+
  1702. [a\x{200}]
  1703. Ket
  1704. End
  1705. ------------------------------------------------------------------
  1706. aa
  1707. 0: aa
  1708. /[b-d\x{200}-\x{250}]*[ae-h]?#[\x{200}-\x{250}]{0,8}[\x00-\xff]*#[\x{200}-\x{250}]+[a-z]/8BZ
  1709. ------------------------------------------------------------------
  1710. Bra
  1711. [b-d\x{200}-\x{250}]*+
  1712. [ae-h]?+
  1713. #
  1714. [\x{200}-\x{250}]{0,8}+
  1715. [\x00-\xff]*
  1716. #
  1717. [\x{200}-\x{250}]++
  1718. [a-z]
  1719. Ket
  1720. End
  1721. ------------------------------------------------------------------
  1722. /[^\xff]*PRUNE:\x{100}abc(xyz(?1))/8DZ
  1723. ------------------------------------------------------------------
  1724. Bra
  1725. [^\x{ff}]*
  1726. PRUNE:\x{100}abc
  1727. CBra 1
  1728. xyz
  1729. Recurse
  1730. Ket
  1731. Ket
  1732. End
  1733. ------------------------------------------------------------------
  1734. Capturing subpattern count = 1
  1735. Options: utf
  1736. No first char
  1737. Need char = 'z'
  1738. /(?<=\K\x{17f})/8g+
  1739. \x{17f}\x{17f}\x{17f}\x{17f}\x{17f}
  1740. 0: \x{17f}
  1741. 0+ \x{17f}\x{17f}\x{17f}\x{17f}
  1742. 0: \x{17f}
  1743. 0+ \x{17f}\x{17f}\x{17f}\x{17f}
  1744. 0: \x{17f}
  1745. 0+ \x{17f}\x{17f}\x{17f}
  1746. 0: \x{17f}
  1747. 0+ \x{17f}\x{17f}
  1748. 0: \x{17f}
  1749. 0+ \x{17f}
  1750. 0: \x{17f}
  1751. 0+
  1752. /(?<=\K\x{17f})/8G+
  1753. \x{17f}\x{17f}\x{17f}\x{17f}\x{17f}
  1754. 0: \x{17f}
  1755. 0+ \x{17f}\x{17f}\x{17f}\x{17f}
  1756. 0: \x{17f}
  1757. 0+ \x{17f}\x{17f}\x{17f}
  1758. 0: \x{17f}
  1759. 0+ \x{17f}\x{17f}
  1760. 0: \x{17f}
  1761. 0+ \x{17f}
  1762. 0: \x{17f}
  1763. 0+
  1764. /\C[^\v]+\x80/8
  1765. [AΏBŀC]
  1766. No match
  1767. /\C[^\d]+\x80/8
  1768. [AΏBŀC]
  1769. No match
  1770. /-- End of testinput5 --/