testoutput7 47 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345
  1. /-- These tests for Unicode property support test PCRE's API and show some of
  2. the compiled code. They are not Perl-compatible. --/
  3. /[\p{L}]/DZ
  4. ------------------------------------------------------------------
  5. Bra
  6. [\p{L}]
  7. Ket
  8. End
  9. ------------------------------------------------------------------
  10. Capturing subpattern count = 0
  11. No options
  12. No first char
  13. No need char
  14. /[\p{^L}]/DZ
  15. ------------------------------------------------------------------
  16. Bra
  17. [\P{L}]
  18. Ket
  19. End
  20. ------------------------------------------------------------------
  21. Capturing subpattern count = 0
  22. No options
  23. No first char
  24. No need char
  25. /[\P{L}]/DZ
  26. ------------------------------------------------------------------
  27. Bra
  28. [\P{L}]
  29. Ket
  30. End
  31. ------------------------------------------------------------------
  32. Capturing subpattern count = 0
  33. No options
  34. No first char
  35. No need char
  36. /[\P{^L}]/DZ
  37. ------------------------------------------------------------------
  38. Bra
  39. [\p{L}]
  40. Ket
  41. End
  42. ------------------------------------------------------------------
  43. Capturing subpattern count = 0
  44. No options
  45. No first char
  46. No need char
  47. /[abc\p{L}\x{0660}]/8DZ
  48. ------------------------------------------------------------------
  49. Bra
  50. [a-c\p{L}\x{660}]
  51. Ket
  52. End
  53. ------------------------------------------------------------------
  54. Capturing subpattern count = 0
  55. Options: utf
  56. No first char
  57. No need char
  58. /[\p{Nd}]/8DZ
  59. ------------------------------------------------------------------
  60. Bra
  61. [\p{Nd}]
  62. Ket
  63. End
  64. ------------------------------------------------------------------
  65. Capturing subpattern count = 0
  66. Options: utf
  67. No first char
  68. No need char
  69. 1234
  70. 0: 1
  71. /[\p{Nd}+-]+/8DZ
  72. ------------------------------------------------------------------
  73. Bra
  74. [+\-\p{Nd}]++
  75. Ket
  76. End
  77. ------------------------------------------------------------------
  78. Capturing subpattern count = 0
  79. Options: utf
  80. No first char
  81. No need char
  82. 1234
  83. 0: 1234
  84. 12-34
  85. 0: 12-34
  86. 12+\x{661}-34
  87. 0: 12+\x{661}-34
  88. ** Failers
  89. No match
  90. abcd
  91. No match
  92. /[\x{105}-\x{109}]/8iDZ
  93. ------------------------------------------------------------------
  94. Bra
  95. [\x{104}-\x{109}]
  96. Ket
  97. End
  98. ------------------------------------------------------------------
  99. Capturing subpattern count = 0
  100. Options: caseless utf
  101. No first char
  102. No need char
  103. \x{104}
  104. 0: \x{104}
  105. \x{105}
  106. 0: \x{105}
  107. \x{109}
  108. 0: \x{109}
  109. ** Failers
  110. No match
  111. \x{100}
  112. No match
  113. \x{10a}
  114. No match
  115. /[z-\x{100}]/8iDZ
  116. ------------------------------------------------------------------
  117. Bra
  118. [Zz-\xff\x{39c}\x{3bc}\x{212b}\x{1e9e}\x{212b}\x{178}\x{100}-\x{101}]
  119. Ket
  120. End
  121. ------------------------------------------------------------------
  122. Capturing subpattern count = 0
  123. Options: caseless utf
  124. No first char
  125. No need char
  126. Z
  127. 0: Z
  128. z
  129. 0: z
  130. \x{39c}
  131. 0: \x{39c}
  132. \x{178}
  133. 0: \x{178}
  134. |
  135. 0: |
  136. \x{80}
  137. 0: \x{80}
  138. \x{ff}
  139. 0: \x{ff}
  140. \x{100}
  141. 0: \x{100}
  142. \x{101}
  143. 0: \x{101}
  144. ** Failers
  145. No match
  146. \x{102}
  147. No match
  148. Y
  149. No match
  150. y
  151. No match
  152. /[z-\x{100}]/8DZi
  153. ------------------------------------------------------------------
  154. Bra
  155. [Zz-\xff\x{39c}\x{3bc}\x{212b}\x{1e9e}\x{212b}\x{178}\x{100}-\x{101}]
  156. Ket
  157. End
  158. ------------------------------------------------------------------
  159. Capturing subpattern count = 0
  160. Options: caseless utf
  161. No first char
  162. No need char
  163. /(?:[\PPa*]*){8,}/
  164. /[\P{Any}]/BZ
  165. ------------------------------------------------------------------
  166. Bra
  167. [\P{Any}]
  168. Ket
  169. End
  170. ------------------------------------------------------------------
  171. /[\P{Any}\E]/BZ
  172. ------------------------------------------------------------------
  173. Bra
  174. [\P{Any}]
  175. Ket
  176. End
  177. ------------------------------------------------------------------
  178. /(\P{Yi}+\277)/
  179. /(\P{Yi}+\277)?/
  180. /(?<=\P{Yi}{3}A)X/
  181. /\p{Yi}+(\P{Yi}+)(?1)/
  182. /(\P{Yi}{2}\277)?/
  183. /[\P{Yi}A]/
  184. /[\P{Yi}\P{Yi}\P{Yi}A]/
  185. /[^\P{Yi}A]/
  186. /[^\P{Yi}\P{Yi}\P{Yi}A]/
  187. /(\P{Yi}*\277)*/
  188. /(\P{Yi}*?\277)*/
  189. /(\p{Yi}*+\277)*/
  190. /(\P{Yi}?\277)*/
  191. /(\P{Yi}??\277)*/
  192. /(\p{Yi}?+\277)*/
  193. /(\P{Yi}{0,3}\277)*/
  194. /(\P{Yi}{0,3}?\277)*/
  195. /(\p{Yi}{0,3}+\277)*/
  196. /\p{Zl}{2,3}+/8BZ
  197. ------------------------------------------------------------------
  198. Bra
  199. prop Zl {2}
  200. prop Zl ?+
  201. Ket
  202. End
  203. ------------------------------------------------------------------
  204. 


  205. 0: \x{2028}\x{2028}
  206. \x{2028}\x{2028}\x{2028}
  207. 0: \x{2028}\x{2028}\x{2028}
  208. /\p{Zl}/8BZ
  209. ------------------------------------------------------------------
  210. Bra
  211. prop Zl
  212. Ket
  213. End
  214. ------------------------------------------------------------------
  215. /\p{Lu}{3}+/8BZ
  216. ------------------------------------------------------------------
  217. Bra
  218. prop Lu {3}
  219. Ket
  220. End
  221. ------------------------------------------------------------------
  222. /\pL{2}+/8BZ
  223. ------------------------------------------------------------------
  224. Bra
  225. prop L {2}
  226. Ket
  227. End
  228. ------------------------------------------------------------------
  229. /\p{Cc}{2}+/8BZ
  230. ------------------------------------------------------------------
  231. Bra
  232. prop Cc {2}
  233. Ket
  234. End
  235. ------------------------------------------------------------------
  236. /^\p{Cf}/8
  237. \x{180e}
  238. 0: \x{180e}
  239. \x{061c}
  240. 0: \x{61c}
  241. \x{2066}
  242. 0: \x{2066}
  243. \x{2067}
  244. 0: \x{2067}
  245. \x{2068}
  246. 0: \x{2068}
  247. \x{2069}
  248. 0: \x{2069}
  249. /^\p{Cs}/8
  250. \?\x{dfff}
  251. 0: \x{dfff}
  252. ** Failers
  253. No match
  254. \x{09f}
  255. No match
  256. /^\p{Mn}/8
  257. \x{1a1b}
  258. 0: \x{1a1b}
  259. /^\p{Pe}/8
  260. \x{2309}
  261. 0: \x{2309}
  262. \x{230b}
  263. 0: \x{230b}
  264. /^\p{Ps}/8
  265. \x{2308}
  266. 0: \x{2308}
  267. \x{230a}
  268. 0: \x{230a}
  269. /^\p{Sc}+/8
  270. $\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
  271. 0: $\x{a2}\x{a3}\x{a4}\x{a5}
  272. \x{9f2}
  273. 0: \x{9f2}
  274. ** Failers
  275. No match
  276. X
  277. No match
  278. \x{2c2}
  279. No match
  280. /^\p{Zs}/8
  281. \ \
  282. 0:
  283. \x{a0}
  284. 0: \x{a0}
  285. \x{1680}
  286. 0: \x{1680}
  287. \x{2000}
  288. 0: \x{2000}
  289. \x{2001}
  290. 0: \x{2001}
  291. ** Failers
  292. No match
  293. \x{2028}
  294. No match
  295. \x{200d}
  296. No match
  297. /-- These are here rather than in test 6 because Perl has problems with
  298. the negative versions of the properties and behaves has changed how
  299. it behaves for caseless matching. --/
  300. /\p{^Lu}/8i
  301. 1234
  302. 0: 1
  303. ** Failers
  304. 0: *
  305. ABC
  306. No match
  307. /\P{Lu}/8i
  308. 1234
  309. 0: 1
  310. ** Failers
  311. 0: *
  312. ABC
  313. No match
  314. /\p{Ll}/8i
  315. a
  316. 0: a
  317. Az
  318. 0: z
  319. ** Failers
  320. 0: a
  321. ABC
  322. No match
  323. /\p{Lu}/8i
  324. A
  325. 0: A
  326. a\x{10a0}B
  327. 0: \x{10a0}
  328. ** Failers
  329. 0: F
  330. a
  331. No match
  332. \x{1d00}
  333. No match
  334. /\p{Lu}/8i
  335. A
  336. 0: A
  337. aZ
  338. 0: Z
  339. ** Failers
  340. 0: F
  341. abc
  342. No match
  343. /[\x{c0}\x{391}]/8i
  344. \x{c0}
  345. 0: \x{c0}
  346. \x{e0}
  347. 0: \x{e0}
  348. /-- The next two are special cases where the lengths of the different cases of
  349. the same character differ. The first went wrong with heap frame storage; the
  350. second was broken in all cases. --/
  351. /^\x{023a}+?(\x{0130}+)/8i
  352. \x{023a}\x{2c65}\x{0130}
  353. 0: \x{23a}\x{2c65}\x{130}
  354. 1: \x{130}
  355. /^\x{023a}+([^X])/8i
  356. \x{023a}\x{2c65}X
  357. 0: \x{23a}\x{2c65}
  358. 1: \x{2c65}
  359. /\x{c0}+\x{116}+/8i
  360. \x{c0}\x{e0}\x{116}\x{117}
  361. 0: \x{c0}\x{e0}\x{116}\x{117}
  362. /[\x{c0}\x{116}]+/8i
  363. \x{c0}\x{e0}\x{116}\x{117}
  364. 0: \x{c0}\x{e0}\x{116}\x{117}
  365. /(\x{de})\1/8i
  366. \x{de}\x{de}
  367. 0: \x{de}\x{de}
  368. 1: \x{de}
  369. \x{de}\x{fe}
  370. 0: \x{de}\x{fe}
  371. 1: \x{de}
  372. \x{fe}\x{fe}
  373. 0: \x{fe}\x{fe}
  374. 1: \x{fe}
  375. \x{fe}\x{de}
  376. 0: \x{fe}\x{de}
  377. 1: \x{fe}
  378. /^\x{c0}$/8i
  379. \x{c0}
  380. 0: \x{c0}
  381. \x{e0}
  382. 0: \x{e0}
  383. /^\x{e0}$/8i
  384. \x{c0}
  385. 0: \x{c0}
  386. \x{e0}
  387. 0: \x{e0}
  388. /-- The next two should be Perl-compatible, but it fails to match \x{e0}. PCRE
  389. will match it only with UCP support, because without that it has no notion
  390. of case for anything other than the ASCII letters. --/
  391. /((?i)[\x{c0}])/8
  392. \x{c0}
  393. 0: \x{c0}
  394. 1: \x{c0}
  395. \x{e0}
  396. 0: \x{e0}
  397. 1: \x{e0}
  398. /(?i:[\x{c0}])/8
  399. \x{c0}
  400. 0: \x{c0}
  401. \x{e0}
  402. 0: \x{e0}
  403. /-- These are PCRE's extra properties to help with Unicodizing \d etc. --/
  404. /^\p{Xan}/8
  405. ABCD
  406. 0: A
  407. 1234
  408. 0: 1
  409. \x{6ca}
  410. 0: \x{6ca}
  411. \x{a6c}
  412. 0: \x{a6c}
  413. \x{10a7}
  414. 0: \x{10a7}
  415. ** Failers
  416. No match
  417. _ABC
  418. No match
  419. /^\p{Xan}+/8
  420. ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  421. 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
  422. ** Failers
  423. No match
  424. _ABC
  425. No match
  426. /^\p{Xan}+?/8
  427. \x{6ca}\x{a6c}\x{10a7}_
  428. 0: \x{6ca}
  429. /^\p{Xan}*/8
  430. ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  431. 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
  432. /^\p{Xan}{2,9}/8
  433. ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  434. 0: ABCD1234\x{6ca}
  435. /^\p{Xan}{2,9}?/8
  436. \x{6ca}\x{a6c}\x{10a7}_
  437. 0: \x{6ca}\x{a6c}
  438. /^[\p{Xan}]/8
  439. ABCD1234_
  440. 0: A
  441. 1234abcd_
  442. 0: 1
  443. \x{6ca}
  444. 0: \x{6ca}
  445. \x{a6c}
  446. 0: \x{a6c}
  447. \x{10a7}
  448. 0: \x{10a7}
  449. ** Failers
  450. No match
  451. _ABC
  452. No match
  453. /^[\p{Xan}]+/8
  454. ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  455. 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
  456. ** Failers
  457. No match
  458. _ABC
  459. No match
  460. /^>\p{Xsp}/8
  461. >\x{1680}\x{2028}\x{0b}
  462. 0: >\x{1680}
  463. >\x{a0}
  464. 0: >\x{a0}
  465. ** Failers
  466. No match
  467. \x{0b}
  468. No match
  469. /^>\p{Xsp}+/8
  470. > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  471. 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  472. /^>\p{Xsp}+?/8
  473. >\x{1680}\x{2028}\x{0b}
  474. 0: >\x{1680}
  475. /^>\p{Xsp}*/8
  476. > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  477. 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  478. /^>\p{Xsp}{2,9}/8
  479. > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  480. 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  481. /^>\p{Xsp}{2,9}?/8
  482. > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  483. 0: > \x{09}
  484. /^>[\p{Xsp}]/8
  485. >\x{2028}\x{0b}
  486. 0: >\x{2028}
  487. /^>[\p{Xsp}]+/8
  488. > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  489. 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  490. /^>\p{Xps}/8
  491. >\x{1680}\x{2028}\x{0b}
  492. 0: >\x{1680}
  493. >\x{a0}
  494. 0: >\x{a0}
  495. ** Failers
  496. No match
  497. \x{0b}
  498. No match
  499. /^>\p{Xps}+/8
  500. > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  501. 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  502. /^>\p{Xps}+?/8
  503. >\x{1680}\x{2028}\x{0b}
  504. 0: >\x{1680}
  505. /^>\p{Xps}*/8
  506. > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  507. 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  508. /^>\p{Xps}{2,9}/8
  509. > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  510. 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  511. /^>\p{Xps}{2,9}?/8
  512. > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  513. 0: > \x{09}
  514. /^>[\p{Xps}]/8
  515. >\x{2028}\x{0b}
  516. 0: >\x{2028}
  517. /^>[\p{Xps}]+/8
  518. > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  519. 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
  520. /^\p{Xwd}/8
  521. ABCD
  522. 0: A
  523. 1234
  524. 0: 1
  525. \x{6ca}
  526. 0: \x{6ca}
  527. \x{a6c}
  528. 0: \x{a6c}
  529. \x{10a7}
  530. 0: \x{10a7}
  531. _ABC
  532. 0: _
  533. ** Failers
  534. No match
  535. []
  536. No match
  537. /^\p{Xwd}+/8
  538. ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  539. 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  540. /^\p{Xwd}+?/8
  541. \x{6ca}\x{a6c}\x{10a7}_
  542. 0: \x{6ca}
  543. /^\p{Xwd}*/8
  544. ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  545. 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  546. /^\p{Xwd}{2,9}/8
  547. A_B12\x{6ca}\x{a6c}\x{10a7}
  548. 0: A_B12\x{6ca}\x{a6c}\x{10a7}
  549. /^\p{Xwd}{2,9}?/8
  550. \x{6ca}\x{a6c}\x{10a7}_
  551. 0: \x{6ca}\x{a6c}
  552. /^[\p{Xwd}]/8
  553. ABCD1234_
  554. 0: A
  555. 1234abcd_
  556. 0: 1
  557. \x{6ca}
  558. 0: \x{6ca}
  559. \x{a6c}
  560. 0: \x{a6c}
  561. \x{10a7}
  562. 0: \x{10a7}
  563. _ABC
  564. 0: _
  565. ** Failers
  566. No match
  567. []
  568. No match
  569. /^[\p{Xwd}]+/8
  570. ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  571. 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
  572. /-- A check not in UTF-8 mode --/
  573. /^[\p{Xwd}]+/
  574. ABCD1234_
  575. 0: ABCD1234_
  576. /-- Some negative checks --/
  577. /^[\P{Xwd}]+/8
  578. !.+\x{019}\x{35a}AB
  579. 0: !.+\x{19}\x{35a}
  580. /^[\p{^Xwd}]+/8
  581. !.+\x{019}\x{35a}AB
  582. 0: !.+\x{19}\x{35a}
  583. /[\D]/WBZ8
  584. ------------------------------------------------------------------
  585. Bra
  586. [\P{Nd}]
  587. Ket
  588. End
  589. ------------------------------------------------------------------
  590. 1\x{3c8}2
  591. 0: \x{3c8}
  592. /[\d]/WBZ8
  593. ------------------------------------------------------------------
  594. Bra
  595. [\p{Nd}]
  596. Ket
  597. End
  598. ------------------------------------------------------------------
  599. >\x{6f4}<
  600. 0: \x{6f4}
  601. /[\S]/WBZ8
  602. ------------------------------------------------------------------
  603. Bra
  604. [\P{Xsp}]
  605. Ket
  606. End
  607. ------------------------------------------------------------------
  608. \x{1680}\x{6f4}\x{1680}
  609. 0: \x{6f4}
  610. /[\s]/WBZ8
  611. ------------------------------------------------------------------
  612. Bra
  613. [\p{Xsp}]
  614. Ket
  615. End
  616. ------------------------------------------------------------------
  617. >\x{1680}<
  618. 0: \x{1680}
  619. /[\W]/WBZ8
  620. ------------------------------------------------------------------
  621. Bra
  622. [\P{Xwd}]
  623. Ket
  624. End
  625. ------------------------------------------------------------------
  626. A\x{1712}B
  627. 0: \x{1712}
  628. /[\w]/WBZ8
  629. ------------------------------------------------------------------
  630. Bra
  631. [\p{Xwd}]
  632. Ket
  633. End
  634. ------------------------------------------------------------------
  635. >\x{1723}<
  636. 0: \x{1723}
  637. /\D/WBZ8
  638. ------------------------------------------------------------------
  639. Bra
  640. notprop Nd
  641. Ket
  642. End
  643. ------------------------------------------------------------------
  644. 1\x{3c8}2
  645. 0: \x{3c8}
  646. /\d/WBZ8
  647. ------------------------------------------------------------------
  648. Bra
  649. prop Nd
  650. Ket
  651. End
  652. ------------------------------------------------------------------
  653. >\x{6f4}<
  654. 0: \x{6f4}
  655. /\S/WBZ8
  656. ------------------------------------------------------------------
  657. Bra
  658. notprop Xsp
  659. Ket
  660. End
  661. ------------------------------------------------------------------
  662. \x{1680}\x{6f4}\x{1680}
  663. 0: \x{6f4}
  664. /\s/WBZ8
  665. ------------------------------------------------------------------
  666. Bra
  667. prop Xsp
  668. Ket
  669. End
  670. ------------------------------------------------------------------
  671. >\x{1680}>
  672. 0: \x{1680}
  673. /\W/WBZ8
  674. ------------------------------------------------------------------
  675. Bra
  676. notprop Xwd
  677. Ket
  678. End
  679. ------------------------------------------------------------------
  680. A\x{1712}B
  681. 0: \x{1712}
  682. /\w/WBZ8
  683. ------------------------------------------------------------------
  684. Bra
  685. prop Xwd
  686. Ket
  687. End
  688. ------------------------------------------------------------------
  689. >\x{1723}<
  690. 0: \x{1723}
  691. /[[:alpha:]]/WBZ
  692. ------------------------------------------------------------------
  693. Bra
  694. [\p{L}]
  695. Ket
  696. End
  697. ------------------------------------------------------------------
  698. /[[:lower:]]/WBZ
  699. ------------------------------------------------------------------
  700. Bra
  701. [\p{Ll}]
  702. Ket
  703. End
  704. ------------------------------------------------------------------
  705. /[[:upper:]]/WBZ
  706. ------------------------------------------------------------------
  707. Bra
  708. [\p{Lu}]
  709. Ket
  710. End
  711. ------------------------------------------------------------------
  712. /[[:alnum:]]/WBZ
  713. ------------------------------------------------------------------
  714. Bra
  715. [\p{Xan}]
  716. Ket
  717. End
  718. ------------------------------------------------------------------
  719. /[[:ascii:]]/WBZ
  720. ------------------------------------------------------------------
  721. Bra
  722. [\x00-\x7f]
  723. Ket
  724. End
  725. ------------------------------------------------------------------
  726. /[[:cntrl:]]/WBZ
  727. ------------------------------------------------------------------
  728. Bra
  729. [\x00-\x1f\x7f]
  730. Ket
  731. End
  732. ------------------------------------------------------------------
  733. /[[:digit:]]/WBZ
  734. ------------------------------------------------------------------
  735. Bra
  736. [\p{Nd}]
  737. Ket
  738. End
  739. ------------------------------------------------------------------
  740. /[[:graph:]]/WBZ
  741. ------------------------------------------------------------------
  742. Bra
  743. [[:graph:]]
  744. Ket
  745. End
  746. ------------------------------------------------------------------
  747. /[[:print:]]/WBZ
  748. ------------------------------------------------------------------
  749. Bra
  750. [[:print:]]
  751. Ket
  752. End
  753. ------------------------------------------------------------------
  754. /[[:punct:]]/WBZ
  755. ------------------------------------------------------------------
  756. Bra
  757. [[:punct:]]
  758. Ket
  759. End
  760. ------------------------------------------------------------------
  761. /[[:space:]]/WBZ
  762. ------------------------------------------------------------------
  763. Bra
  764. [\p{Xps}]
  765. Ket
  766. End
  767. ------------------------------------------------------------------
  768. /[[:word:]]/WBZ
  769. ------------------------------------------------------------------
  770. Bra
  771. [\p{Xwd}]
  772. Ket
  773. End
  774. ------------------------------------------------------------------
  775. /[[:xdigit:]]/WBZ
  776. ------------------------------------------------------------------
  777. Bra
  778. [0-9A-Fa-f]
  779. Ket
  780. End
  781. ------------------------------------------------------------------
  782. /-- Unicode properties for \b abd \B --/
  783. /\b...\B/8W
  784. abc_
  785. 0: abc
  786. \x{37e}abc\x{376}
  787. 0: abc
  788. \x{37e}\x{376}\x{371}\x{393}\x{394}
  789. 0: \x{376}\x{371}\x{393}
  790. !\x{c0}++\x{c1}\x{c2}
  791. 0: ++\x{c1}
  792. !\x{c0}+++++
  793. 0: \x{c0}++
  794. /-- Without PCRE_UCP, non-ASCII always fail, even if < 256 --/
  795. /\b...\B/8
  796. abc_
  797. 0: abc
  798. ** Failers
  799. 0: Fai
  800. \x{37e}abc\x{376}
  801. No match
  802. \x{37e}\x{376}\x{371}\x{393}\x{394}
  803. No match
  804. !\x{c0}++\x{c1}\x{c2}
  805. No match
  806. !\x{c0}+++++
  807. No match
  808. /-- With PCRE_UCP, non-UTF8 chars that are < 256 still check properties --/
  809. /\b...\B/W
  810. abc_
  811. 0: abc
  812. !\x{c0}++\x{c1}\x{c2}
  813. 0: ++\xc1
  814. !\x{c0}+++++
  815. 0: \xc0++
  816. /-- Some of these are silly, but they check various combinations --/
  817. /[[:^alpha:][:^cntrl:]]+/8WBZ
  818. ------------------------------------------------------------------
  819. Bra
  820. [ -~\x80-\xff\P{L}\x{100}-\x{10ffff}]++
  821. Ket
  822. End
  823. ------------------------------------------------------------------
  824. 123
  825. 0: 123
  826. abc
  827. 0: abc
  828. /[[:^cntrl:][:^alpha:]]+/8WBZ
  829. ------------------------------------------------------------------
  830. Bra
  831. [ -~\x80-\xff\x{100}-\x{10ffff}\P{L}]++
  832. Ket
  833. End
  834. ------------------------------------------------------------------
  835. 123
  836. 0: 123
  837. abc
  838. 0: abc
  839. /[[:alpha:]]+/8WBZ
  840. ------------------------------------------------------------------
  841. Bra
  842. [\p{L}]++
  843. Ket
  844. End
  845. ------------------------------------------------------------------
  846. abc
  847. 0: abc
  848. /[[:^alpha:]\S]+/8WBZ
  849. ------------------------------------------------------------------
  850. Bra
  851. [\P{L}\P{Xsp}]++
  852. Ket
  853. End
  854. ------------------------------------------------------------------
  855. 123
  856. 0: 123
  857. abc
  858. 0: abc
  859. /[^\d]+/8WBZ
  860. ------------------------------------------------------------------
  861. Bra
  862. [^\p{Nd}]++
  863. Ket
  864. End
  865. ------------------------------------------------------------------
  866. abc123
  867. 0: abc
  868. abc\x{123}
  869. 0: abc\x{123}
  870. \x{660}abc
  871. 0: abc
  872. /\p{Lu}+9\p{Lu}+B\p{Lu}+b/BZ
  873. ------------------------------------------------------------------
  874. Bra
  875. prop Lu ++
  876. 9
  877. prop Lu +
  878. B
  879. prop Lu ++
  880. b
  881. Ket
  882. End
  883. ------------------------------------------------------------------
  884. /\p{^Lu}+9\p{^Lu}+B\p{^Lu}+b/BZ
  885. ------------------------------------------------------------------
  886. Bra
  887. notprop Lu +
  888. 9
  889. notprop Lu ++
  890. B
  891. notprop Lu +
  892. b
  893. Ket
  894. End
  895. ------------------------------------------------------------------
  896. /\P{Lu}+9\P{Lu}+B\P{Lu}+b/BZ
  897. ------------------------------------------------------------------
  898. Bra
  899. notprop Lu +
  900. 9
  901. notprop Lu ++
  902. B
  903. notprop Lu +
  904. b
  905. Ket
  906. End
  907. ------------------------------------------------------------------
  908. /\p{Han}+X\p{Greek}+\x{370}/BZ8
  909. ------------------------------------------------------------------
  910. Bra
  911. prop Han ++
  912. X
  913. prop Greek +
  914. \x{370}
  915. Ket
  916. End
  917. ------------------------------------------------------------------
  918. /\p{Xan}+!\p{Xan}+A/BZ
  919. ------------------------------------------------------------------
  920. Bra
  921. prop Xan ++
  922. !
  923. prop Xan +
  924. A
  925. Ket
  926. End
  927. ------------------------------------------------------------------
  928. /\p{Xsp}+!\p{Xsp}\t/BZ
  929. ------------------------------------------------------------------
  930. Bra
  931. prop Xsp ++
  932. !
  933. prop Xsp
  934. \x09
  935. Ket
  936. End
  937. ------------------------------------------------------------------
  938. /\p{Xps}+!\p{Xps}\t/BZ
  939. ------------------------------------------------------------------
  940. Bra
  941. prop Xps ++
  942. !
  943. prop Xps
  944. \x09
  945. Ket
  946. End
  947. ------------------------------------------------------------------
  948. /\p{Xwd}+!\p{Xwd}_/BZ
  949. ------------------------------------------------------------------
  950. Bra
  951. prop Xwd ++
  952. !
  953. prop Xwd
  954. _
  955. Ket
  956. End
  957. ------------------------------------------------------------------
  958. /A+\p{N}A+\dB+\p{N}*B+\d*/WBZ
  959. ------------------------------------------------------------------
  960. Bra
  961. A++
  962. prop N
  963. A++
  964. prop Nd
  965. B+
  966. prop N *+
  967. B++
  968. prop Nd *+
  969. Ket
  970. End
  971. ------------------------------------------------------------------
  972. /-- These behaved oddly in Perl, so they are kept in this test --/
  973. /(\x{23a}\x{23a}\x{23a})?\1/8i
  974. \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
  975. No match
  976. /(ȺȺȺ)?\1/8i
  977. ȺȺȺⱥⱥ
  978. No match
  979. /(\x{23a}\x{23a}\x{23a})?\1/8i
  980. \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
  981. 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
  982. 1: \x{23a}\x{23a}\x{23a}
  983. /(ȺȺȺ)?\1/8i
  984. ȺȺȺⱥⱥⱥ
  985. 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
  986. 1: \x{23a}\x{23a}\x{23a}
  987. /(\x{23a}\x{23a}\x{23a})\1/8i
  988. \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
  989. No match
  990. /(ȺȺȺ)\1/8i
  991. ȺȺȺⱥⱥ
  992. No match
  993. /(\x{23a}\x{23a}\x{23a})\1/8i
  994. \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
  995. 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
  996. 1: \x{23a}\x{23a}\x{23a}
  997. /(ȺȺȺ)\1/8i
  998. ȺȺȺⱥⱥⱥ
  999. 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
  1000. 1: \x{23a}\x{23a}\x{23a}
  1001. /(\x{2c65}\x{2c65})\1/8i
  1002. \x{2c65}\x{2c65}\x{23a}\x{23a}
  1003. 0: \x{2c65}\x{2c65}\x{23a}\x{23a}
  1004. 1: \x{2c65}\x{2c65}
  1005. /(ⱥⱥ)\1/8i
  1006. ⱥⱥȺȺ
  1007. 0: \x{2c65}\x{2c65}\x{23a}\x{23a}
  1008. 1: \x{2c65}\x{2c65}
  1009. /(\x{23a}\x{23a}\x{23a})\1Y/8i
  1010. X\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}YZ
  1011. 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}Y
  1012. 1: \x{23a}\x{23a}\x{23a}
  1013. /(\x{2c65}\x{2c65})\1Y/8i
  1014. X\x{2c65}\x{2c65}\x{23a}\x{23a}YZ
  1015. 0: \x{2c65}\x{2c65}\x{23a}\x{23a}Y
  1016. 1: \x{2c65}\x{2c65}
  1017. /-- --/
  1018. /-- These scripts weren't yet in Perl when I added Unicode 6.0.0 to PCRE --/
  1019. /^[\p{Batak}]/8
  1020. \x{1bc0}
  1021. 0: \x{1bc0}
  1022. \x{1bff}
  1023. 0: \x{1bff}
  1024. ** Failers
  1025. No match
  1026. \x{1bf4}
  1027. No match
  1028. /^[\p{Brahmi}]/8
  1029. \x{11000}
  1030. 0: \x{11000}
  1031. \x{1106f}
  1032. 0: \x{1106f}
  1033. ** Failers
  1034. No match
  1035. \x{1104e}
  1036. No match
  1037. /^[\p{Mandaic}]/8
  1038. \x{840}
  1039. 0: \x{840}
  1040. \x{85e}
  1041. 0: \x{85e}
  1042. ** Failers
  1043. No match
  1044. \x{85c}
  1045. No match
  1046. \x{85d}
  1047. No match
  1048. /-- --/
  1049. /(\X*)(.)/s8
  1050. A\x{300}
  1051. 0: A
  1052. 1:
  1053. 2: A
  1054. /^S(\X*)e(\X*)$/8
  1055. Stéréo
  1056. 0: Ste\x{301}re\x{301}o
  1057. 1: te\x{301}r
  1058. 2: \x{301}o
  1059. /^\X/8
  1060. ́réo
  1061. 0: \x{301}
  1062. /^a\X41z/<JS>
  1063. aX41z
  1064. 0: aX41z
  1065. *** Failers
  1066. No match
  1067. aAz
  1068. No match
  1069. /(?<=ab\Cde)X/8
  1070. Failed: \C not allowed in lookbehind assertion at offset 10
  1071. /\X/
  1072. a\P
  1073. 0: a
  1074. a\P\P
  1075. Partial match: a
  1076. /\Xa/
  1077. aa\P
  1078. 0: aa
  1079. aa\P\P
  1080. 0: aa
  1081. /\X{2}/
  1082. aa\P
  1083. 0: aa
  1084. aa\P\P
  1085. Partial match: aa
  1086. /\X+a/
  1087. a\P
  1088. Partial match: a
  1089. aa\P
  1090. 0: aa
  1091. aa\P\P
  1092. Partial match: aa
  1093. /\X+?a/
  1094. a\P
  1095. Partial match: a
  1096. ab\P
  1097. Partial match: ab
  1098. aa\P
  1099. 0: aa
  1100. aa\P\P
  1101. 0: aa
  1102. aba\P
  1103. 0: aba
  1104. /-- These Unicode 6.1.0 scripts are not known to Perl. --/
  1105. /\p{Chakma}\d/8W
  1106. \x{11100}\x{1113c}
  1107. 0: \x{11100}\x{1113c}
  1108. /\p{Takri}\d/8W
  1109. \x{11680}\x{116c0}
  1110. 0: \x{11680}\x{116c0}
  1111. /^\X/8
  1112. A\P
  1113. 0: A
  1114. A\P\P
  1115. Partial match: A
  1116. A\x{300}\x{301}\P
  1117. 0: A\x{300}\x{301}
  1118. A\x{300}\x{301}\P\P
  1119. Partial match: A\x{300}\x{301}
  1120. A\x{301}\P
  1121. 0: A\x{301}
  1122. A\x{301}\P\P
  1123. Partial match: A\x{301}
  1124. /^\X{2,3}/8
  1125. A\P
  1126. Partial match: A
  1127. A\P\P
  1128. Partial match: A
  1129. AA\P
  1130. 0: AA
  1131. AA\P\P
  1132. Partial match: AA
  1133. A\x{300}\x{301}\P
  1134. Partial match: A\x{300}\x{301}
  1135. A\x{300}\x{301}\P\P
  1136. Partial match: A\x{300}\x{301}
  1137. A\x{300}\x{301}A\x{300}\x{301}\P
  1138. 0: A\x{300}\x{301}A\x{300}\x{301}
  1139. A\x{300}\x{301}A\x{300}\x{301}\P\P
  1140. Partial match: A\x{300}\x{301}A\x{300}\x{301}
  1141. /^\X{2}/8
  1142. AA\P
  1143. 0: AA
  1144. AA\P\P
  1145. Partial match: AA
  1146. A\x{300}\x{301}A\x{300}\x{301}\P
  1147. 0: A\x{300}\x{301}A\x{300}\x{301}
  1148. A\x{300}\x{301}A\x{300}\x{301}\P\P
  1149. Partial match: A\x{300}\x{301}A\x{300}\x{301}
  1150. /^\X+/8
  1151. AA\P
  1152. 0: AA
  1153. AA\P\P
  1154. Partial match: AA
  1155. /^\X+?Z/8
  1156. AA\P
  1157. Partial match: AA
  1158. AA\P\P
  1159. Partial match: AA
  1160. /A\x{3a3}B/8iDZ
  1161. ------------------------------------------------------------------
  1162. Bra
  1163. /i A
  1164. clist 03a3 03c2 03c3
  1165. /i B
  1166. Ket
  1167. End
  1168. ------------------------------------------------------------------
  1169. Capturing subpattern count = 0
  1170. Options: caseless utf
  1171. First char = 'A' (caseless)
  1172. Need char = 'B' (caseless)
  1173. /\x{3a3}B/8iDZ
  1174. ------------------------------------------------------------------
  1175. Bra
  1176. clist 03a3 03c2 03c3
  1177. /i B
  1178. Ket
  1179. End
  1180. ------------------------------------------------------------------
  1181. Capturing subpattern count = 0
  1182. Options: caseless utf
  1183. No first char
  1184. Need char = 'B' (caseless)
  1185. /[\x{3a3}]/8iBZ
  1186. ------------------------------------------------------------------
  1187. Bra
  1188. clist 03a3 03c2 03c3
  1189. Ket
  1190. End
  1191. ------------------------------------------------------------------
  1192. /[^\x{3a3}]/8iBZ
  1193. ------------------------------------------------------------------
  1194. Bra
  1195. not clist 03a3 03c2 03c3
  1196. Ket
  1197. End
  1198. ------------------------------------------------------------------
  1199. /[\x{3a3}]+/8iBZ
  1200. ------------------------------------------------------------------
  1201. Bra
  1202. clist 03a3 03c2 03c3 ++
  1203. Ket
  1204. End
  1205. ------------------------------------------------------------------
  1206. /[^\x{3a3}]+/8iBZ
  1207. ------------------------------------------------------------------
  1208. Bra
  1209. not clist 03a3 03c2 03c3 ++
  1210. Ket
  1211. End
  1212. ------------------------------------------------------------------
  1213. /a*\x{3a3}/8iBZ
  1214. ------------------------------------------------------------------
  1215. Bra
  1216. /i a*+
  1217. clist 03a3 03c2 03c3
  1218. Ket
  1219. End
  1220. ------------------------------------------------------------------
  1221. /\x{3a3}+a/8iBZ
  1222. ------------------------------------------------------------------
  1223. Bra
  1224. clist 03a3 03c2 03c3 ++
  1225. /i a
  1226. Ket
  1227. End
  1228. ------------------------------------------------------------------
  1229. /\x{3a3}*\x{3c2}/8iBZ
  1230. ------------------------------------------------------------------
  1231. Bra
  1232. clist 03a3 03c2 03c3 *
  1233. clist 03a3 03c2 03c3
  1234. Ket
  1235. End
  1236. ------------------------------------------------------------------
  1237. /\x{3a3}{3}/8i+
  1238. \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
  1239. 0: \x{3a3}\x{3c3}\x{3c2}
  1240. 0+ \x{3a3}\x{3c3}\x{3c2}
  1241. /\x{3a3}{2,4}/8i+
  1242. \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
  1243. 0: \x{3a3}\x{3c3}\x{3c2}\x{3a3}
  1244. 0+ \x{3c3}\x{3c2}
  1245. /\x{3a3}{2,4}?/8i+
  1246. \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
  1247. 0: \x{3a3}\x{3c3}
  1248. 0+ \x{3c2}\x{3a3}\x{3c3}\x{3c2}
  1249. /\x{3a3}+./8i+
  1250. \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
  1251. 0: \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
  1252. 0+
  1253. /\x{3a3}++./8i+
  1254. ** Failers
  1255. No match
  1256. \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
  1257. No match
  1258. /\x{3a3}*\x{3c2}/8iBZ
  1259. ------------------------------------------------------------------
  1260. Bra
  1261. clist 03a3 03c2 03c3 *
  1262. clist 03a3 03c2 03c3
  1263. Ket
  1264. End
  1265. ------------------------------------------------------------------
  1266. /[^\x{3a3}]*\x{3c2}/8iBZ
  1267. ------------------------------------------------------------------
  1268. Bra
  1269. not clist 03a3 03c2 03c3 *+
  1270. clist 03a3 03c2 03c3
  1271. Ket
  1272. End
  1273. ------------------------------------------------------------------
  1274. /[^a]*\x{3c2}/8iBZ
  1275. ------------------------------------------------------------------
  1276. Bra
  1277. /i [^a]*
  1278. clist 03a3 03c2 03c3
  1279. Ket
  1280. End
  1281. ------------------------------------------------------------------
  1282. /ist/8iBZ
  1283. ------------------------------------------------------------------
  1284. Bra
  1285. /i i
  1286. clist 0053 0073 017f
  1287. /i t
  1288. Ket
  1289. End
  1290. ------------------------------------------------------------------
  1291. ikt
  1292. No match
  1293. /is+t/8i
  1294. iSs\x{17f}t
  1295. 0: iSs\x{17f}t
  1296. ikt
  1297. No match
  1298. /is+?t/8i
  1299. ikt
  1300. No match
  1301. /is?t/8i
  1302. ikt
  1303. No match
  1304. /is{2}t/8i
  1305. iskt
  1306. No match
  1307. /-- This property is a PCRE special --/
  1308. /^\p{Xuc}/8
  1309. $abc
  1310. 0: $
  1311. @abc
  1312. 0: @
  1313. `abc
  1314. 0: `
  1315. \x{1234}abc
  1316. 0: \x{1234}
  1317. ** Failers
  1318. No match
  1319. abc
  1320. No match
  1321. /^\p{Xuc}+/8
  1322. $@`\x{a0}\x{1234}\x{e000}**
  1323. 0: $@`\x{a0}\x{1234}\x{e000}
  1324. ** Failers
  1325. No match
  1326. \x{9f}
  1327. No match
  1328. /^\p{Xuc}+?/8
  1329. $@`\x{a0}\x{1234}\x{e000}**
  1330. 0: $
  1331. ** Failers
  1332. No match
  1333. \x{9f}
  1334. No match
  1335. /^\p{Xuc}+?\*/8
  1336. $@`\x{a0}\x{1234}\x{e000}**
  1337. 0: $@`\x{a0}\x{1234}\x{e000}*
  1338. ** Failers
  1339. No match
  1340. \x{9f}
  1341. No match
  1342. /^\p{Xuc}++/8
  1343. $@`\x{a0}\x{1234}\x{e000}**
  1344. 0: $@`\x{a0}\x{1234}\x{e000}
  1345. ** Failers
  1346. No match
  1347. \x{9f}
  1348. No match
  1349. /^\p{Xuc}{3,5}/8
  1350. $@`\x{a0}\x{1234}\x{e000}**
  1351. 0: $@`\x{a0}\x{1234}
  1352. ** Failers
  1353. No match
  1354. \x{9f}
  1355. No match
  1356. /^\p{Xuc}{3,5}?/8
  1357. $@`\x{a0}\x{1234}\x{e000}**
  1358. 0: $@`
  1359. ** Failers
  1360. No match
  1361. \x{9f}
  1362. No match
  1363. /^[\p{Xuc}]/8
  1364. $@`\x{a0}\x{1234}\x{e000}**
  1365. 0: $
  1366. ** Failers
  1367. No match
  1368. \x{9f}
  1369. No match
  1370. /^[\p{Xuc}]+/8
  1371. $@`\x{a0}\x{1234}\x{e000}**
  1372. 0: $@`\x{a0}\x{1234}\x{e000}
  1373. ** Failers
  1374. No match
  1375. \x{9f}
  1376. No match
  1377. /^\P{Xuc}/8
  1378. abc
  1379. 0: a
  1380. ** Failers
  1381. 0: *
  1382. $abc
  1383. No match
  1384. @abc
  1385. No match
  1386. `abc
  1387. No match
  1388. \x{1234}abc
  1389. No match
  1390. /^[\P{Xuc}]/8
  1391. abc
  1392. 0: a
  1393. ** Failers
  1394. 0: *
  1395. $abc
  1396. No match
  1397. @abc
  1398. No match
  1399. `abc
  1400. No match
  1401. \x{1234}abc
  1402. No match
  1403. /-- Some auto-possessification tests --/
  1404. /\pN+\z/BZ
  1405. ------------------------------------------------------------------
  1406. Bra
  1407. prop N ++
  1408. \z
  1409. Ket
  1410. End
  1411. ------------------------------------------------------------------
  1412. /\PN+\z/BZ
  1413. ------------------------------------------------------------------
  1414. Bra
  1415. notprop N ++
  1416. \z
  1417. Ket
  1418. End
  1419. ------------------------------------------------------------------
  1420. /\pN+/BZ
  1421. ------------------------------------------------------------------
  1422. Bra
  1423. prop N ++
  1424. Ket
  1425. End
  1426. ------------------------------------------------------------------
  1427. /\PN+/BZ
  1428. ------------------------------------------------------------------
  1429. Bra
  1430. notprop N ++
  1431. Ket
  1432. End
  1433. ------------------------------------------------------------------
  1434. /\p{Any}+\p{Any} \p{Any}+\P{Any} \p{Any}+\p{L&} \p{Any}+\p{L} \p{Any}+\p{Lu} \p{Any}+\p{Han} \p{Any}+\p{Xan} \p{Any}+\p{Xsp} \p{Any}+\p{Xps} \p{Xwd}+\p{Any} \p{Any}+\p{Xuc}/BWZx
  1435. ------------------------------------------------------------------
  1436. Bra
  1437. prop Any +
  1438. prop Any
  1439. prop Any +
  1440. notprop Any
  1441. prop Any +
  1442. prop L&
  1443. prop Any +
  1444. prop L
  1445. prop Any +
  1446. prop Lu
  1447. prop Any +
  1448. prop Han
  1449. prop Any +
  1450. prop Xan
  1451. prop Any +
  1452. prop Xsp
  1453. prop Any +
  1454. prop Xps
  1455. prop Xwd +
  1456. prop Any
  1457. prop Any +
  1458. prop Xuc
  1459. Ket
  1460. End
  1461. ------------------------------------------------------------------
  1462. /\p{L&}+\p{Any} \p{L&}+\p{L&} \P{L&}+\p{L&} \p{L&}+\p{L} \p{L&}+\p{Lu} \p{L&}+\p{Han} \p{L&}+\p{Xan} \p{L&}+\P{Xan} \p{L&}+\p{Xsp} \p{L&}+\p{Xps} \p{Xwd}+\p{L&} \p{L&}+\p{Xuc}/BWZx
  1463. ------------------------------------------------------------------
  1464. Bra
  1465. prop L& +
  1466. prop Any
  1467. prop L& +
  1468. prop L&
  1469. notprop L& ++
  1470. prop L&
  1471. prop L& +
  1472. prop L
  1473. prop L& +
  1474. prop Lu
  1475. prop L& +
  1476. prop Han
  1477. prop L& +
  1478. prop Xan
  1479. prop L& ++
  1480. notprop Xan
  1481. prop L& ++
  1482. prop Xsp
  1483. prop L& ++
  1484. prop Xps
  1485. prop Xwd +
  1486. prop L&
  1487. prop L& +
  1488. prop Xuc
  1489. Ket
  1490. End
  1491. ------------------------------------------------------------------
  1492. /\p{N}+\p{Any} \p{N}+\p{L&} \p{N}+\p{L} \p{N}+\P{L} \p{N}+\P{N} \p{N}+\p{Lu} \p{N}+\p{Han} \p{N}+\p{Xan} \p{N}+\p{Xsp} \p{N}+\p{Xps} \p{Xwd}+\p{N} \p{N}+\p{Xuc}/BWZx
  1493. ------------------------------------------------------------------
  1494. Bra
  1495. prop N +
  1496. prop Any
  1497. prop N +
  1498. prop L&
  1499. prop N ++
  1500. prop L
  1501. prop N +
  1502. notprop L
  1503. prop N ++
  1504. notprop N
  1505. prop N ++
  1506. prop Lu
  1507. prop N +
  1508. prop Han
  1509. prop N +
  1510. prop Xan
  1511. prop N ++
  1512. prop Xsp
  1513. prop N ++
  1514. prop Xps
  1515. prop Xwd +
  1516. prop N
  1517. prop N +
  1518. prop Xuc
  1519. Ket
  1520. End
  1521. ------------------------------------------------------------------
  1522. /\p{Lu}+\p{Any} \p{Lu}+\p{L&} \p{Lu}+\p{L} \p{Lu}+\p{Lu} \P{Lu}+\p{Lu} \p{Lu}+\p{Nd} \p{Lu}+\P{Nd} \p{Lu}+\p{Han} \p{Lu}+\p{Xan} \p{Lu}+\p{Xsp} \p{Lu}+\p{Xps} \p{Xwd}+\p{Lu} \p{Lu}+\p{Xuc}/BWZx
  1523. ------------------------------------------------------------------
  1524. Bra
  1525. prop Lu +
  1526. prop Any
  1527. prop Lu +
  1528. prop L&
  1529. prop Lu +
  1530. prop L
  1531. prop Lu +
  1532. prop Lu
  1533. notprop Lu ++
  1534. prop Lu
  1535. prop Lu ++
  1536. prop Nd
  1537. prop Lu +
  1538. notprop Nd
  1539. prop Lu +
  1540. prop Han
  1541. prop Lu +
  1542. prop Xan
  1543. prop Lu ++
  1544. prop Xsp
  1545. prop Lu ++
  1546. prop Xps
  1547. prop Xwd +
  1548. prop Lu
  1549. prop Lu +
  1550. prop Xuc
  1551. Ket
  1552. End
  1553. ------------------------------------------------------------------
  1554. /\p{Han}+\p{Lu} \p{Han}+\p{L&} \p{Han}+\p{L} \p{Han}+\p{Lu} \p{Han}+\p{Arabic} \p{Arabic}+\p{Arabic} \p{Han}+\p{Xan} \p{Han}+\p{Xsp} \p{Han}+\p{Xps} \p{Xwd}+\p{Han} \p{Han}+\p{Xuc}/BWZx
  1555. ------------------------------------------------------------------
  1556. Bra
  1557. prop Han +
  1558. prop Lu
  1559. prop Han +
  1560. prop L&
  1561. prop Han +
  1562. prop L
  1563. prop Han +
  1564. prop Lu
  1565. prop Han ++
  1566. prop Arabic
  1567. prop Arabic +
  1568. prop Arabic
  1569. prop Han +
  1570. prop Xan
  1571. prop Han +
  1572. prop Xsp
  1573. prop Han +
  1574. prop Xps
  1575. prop Xwd +
  1576. prop Han
  1577. prop Han +
  1578. prop Xuc
  1579. Ket
  1580. End
  1581. ------------------------------------------------------------------
  1582. /\p{Xan}+\p{Any} \p{Xan}+\p{L&} \P{Xan}+\p{L&} \p{Xan}+\p{L} \p{Xan}+\p{Lu} \p{Xan}+\p{Han} \p{Xan}+\p{Xan} \p{Xan}+\P{Xan} \p{Xan}+\p{Xsp} \p{Xan}+\p{Xps} \p{Xwd}+\p{Xan} \p{Xan}+\p{Xuc}/BWZx
  1583. ------------------------------------------------------------------
  1584. Bra
  1585. prop Xan +
  1586. prop Any
  1587. prop Xan +
  1588. prop L&
  1589. notprop Xan ++
  1590. prop L&
  1591. prop Xan +
  1592. prop L
  1593. prop Xan +
  1594. prop Lu
  1595. prop Xan +
  1596. prop Han
  1597. prop Xan +
  1598. prop Xan
  1599. prop Xan ++
  1600. notprop Xan
  1601. prop Xan ++
  1602. prop Xsp
  1603. prop Xan ++
  1604. prop Xps
  1605. prop Xwd +
  1606. prop Xan
  1607. prop Xan +
  1608. prop Xuc
  1609. Ket
  1610. End
  1611. ------------------------------------------------------------------
  1612. /\p{Xsp}+\p{Any} \p{Xsp}+\p{L&} \p{Xsp}+\p{L} \p{Xsp}+\p{Lu} \p{Xsp}+\p{Han} \p{Xsp}+\p{Xan} \p{Xsp}+\p{Xsp} \P{Xsp}+\p{Xsp} \p{Xsp}+\p{Xps} \p{Xwd}+\p{Xsp} \p{Xsp}+\p{Xuc}/BWZx
  1613. ------------------------------------------------------------------
  1614. Bra
  1615. prop Xsp +
  1616. prop Any
  1617. prop Xsp ++
  1618. prop L&
  1619. prop Xsp ++
  1620. prop L
  1621. prop Xsp ++
  1622. prop Lu
  1623. prop Xsp +
  1624. prop Han
  1625. prop Xsp ++
  1626. prop Xan
  1627. prop Xsp +
  1628. prop Xsp
  1629. notprop Xsp ++
  1630. prop Xsp
  1631. prop Xsp +
  1632. prop Xps
  1633. prop Xwd ++
  1634. prop Xsp
  1635. prop Xsp +
  1636. prop Xuc
  1637. Ket
  1638. End
  1639. ------------------------------------------------------------------
  1640. /\p{Xwd}+\p{Any} \p{Xwd}+\p{L&} \p{Xwd}+\p{L} \p{Xwd}+\p{Lu} \p{Xwd}+\p{Han} \p{Xwd}+\p{Xan} \p{Xwd}+\p{Xsp} \p{Xwd}+\p{Xps} \p{Xwd}+\p{Xwd} \p{Xwd}+\P{Xwd} \p{Xwd}+\p{Xuc}/BWZx
  1641. ------------------------------------------------------------------
  1642. Bra
  1643. prop Xwd +
  1644. prop Any
  1645. prop Xwd +
  1646. prop L&
  1647. prop Xwd +
  1648. prop L
  1649. prop Xwd +
  1650. prop Lu
  1651. prop Xwd +
  1652. prop Han
  1653. prop Xwd +
  1654. prop Xan
  1655. prop Xwd ++
  1656. prop Xsp
  1657. prop Xwd ++
  1658. prop Xps
  1659. prop Xwd +
  1660. prop Xwd
  1661. prop Xwd ++
  1662. notprop Xwd
  1663. prop Xwd +
  1664. prop Xuc
  1665. Ket
  1666. End
  1667. ------------------------------------------------------------------
  1668. /\p{Xuc}+\p{Any} \p{Xuc}+\p{L&} \p{Xuc}+\p{L} \p{Xuc}+\p{Lu} \p{Xuc}+\p{Han} \p{Xuc}+\p{Xan} \p{Xuc}+\p{Xsp} \p{Xuc}+\p{Xps} \p{Xwd}+\p{Xuc} \p{Xuc}+\p{Xuc} \p{Xuc}+\P{Xuc}/BWZx
  1669. ------------------------------------------------------------------
  1670. Bra
  1671. prop Xuc +
  1672. prop Any
  1673. prop Xuc +
  1674. prop L&
  1675. prop Xuc +
  1676. prop L
  1677. prop Xuc +
  1678. prop Lu
  1679. prop Xuc +
  1680. prop Han
  1681. prop Xuc +
  1682. prop Xan
  1683. prop Xuc +
  1684. prop Xsp
  1685. prop Xuc +
  1686. prop Xps
  1687. prop Xwd +
  1688. prop Xuc
  1689. prop Xuc +
  1690. prop Xuc
  1691. prop Xuc ++
  1692. notprop Xuc
  1693. Ket
  1694. End
  1695. ------------------------------------------------------------------
  1696. /\p{N}+\p{Ll} \p{N}+\p{Nd} \p{N}+\P{Nd}/BWZx
  1697. ------------------------------------------------------------------
  1698. Bra
  1699. prop N ++
  1700. prop Ll
  1701. prop N +
  1702. prop Nd
  1703. prop N +
  1704. notprop Nd
  1705. Ket
  1706. End
  1707. ------------------------------------------------------------------
  1708. /\p{Xan}+\p{L} \p{Xan}+\p{N} \p{Xan}+\p{C} \p{Xan}+\P{L} \P{Xan}+\p{N} \p{Xan}+\P{C}/BWZx
  1709. ------------------------------------------------------------------
  1710. Bra
  1711. prop Xan +
  1712. prop L
  1713. prop Xan +
  1714. prop N
  1715. prop Xan ++
  1716. prop C
  1717. prop Xan +
  1718. notprop L
  1719. notprop Xan ++
  1720. prop N
  1721. prop Xan +
  1722. notprop C
  1723. Ket
  1724. End
  1725. ------------------------------------------------------------------
  1726. /\p{L}+\p{Xan} \p{N}+\p{Xan} \p{C}+\p{Xan} \P{L}+\p{Xan} \p{N}+\p{Xan} \P{C}+\p{Xan} \p{L}+\P{Xan}/BWZx
  1727. ------------------------------------------------------------------
  1728. Bra
  1729. prop L +
  1730. prop Xan
  1731. prop N +
  1732. prop Xan
  1733. prop C ++
  1734. prop Xan
  1735. notprop L +
  1736. prop Xan
  1737. prop N +
  1738. prop Xan
  1739. notprop C +
  1740. prop Xan
  1741. prop L ++
  1742. notprop Xan
  1743. Ket
  1744. End
  1745. ------------------------------------------------------------------
  1746. /\p{Xan}+\p{Lu} \p{Xan}+\p{Nd} \p{Xan}+\p{Cc} \p{Xan}+\P{Ll} \P{Xan}+\p{No} \p{Xan}+\P{Cf}/BWZx
  1747. ------------------------------------------------------------------
  1748. Bra
  1749. prop Xan +
  1750. prop Lu
  1751. prop Xan +
  1752. prop Nd
  1753. prop Xan ++
  1754. prop Cc
  1755. prop Xan +
  1756. notprop Ll
  1757. notprop Xan ++
  1758. prop No
  1759. prop Xan +
  1760. notprop Cf
  1761. Ket
  1762. End
  1763. ------------------------------------------------------------------
  1764. /\p{Lu}+\p{Xan} \p{Nd}+\p{Xan} \p{Cs}+\p{Xan} \P{Lt}+\p{Xan} \p{Nl}+\p{Xan} \P{Cc}+\p{Xan} \p{Lt}+\P{Xan}/BWZx
  1765. ------------------------------------------------------------------
  1766. Bra
  1767. prop Lu +
  1768. prop Xan
  1769. prop Nd +
  1770. prop Xan
  1771. prop Cs ++
  1772. prop Xan
  1773. notprop Lt +
  1774. prop Xan
  1775. prop Nl +
  1776. prop Xan
  1777. notprop Cc +
  1778. prop Xan
  1779. prop Lt ++
  1780. notprop Xan
  1781. Ket
  1782. End
  1783. ------------------------------------------------------------------
  1784. /\w+\p{P} \w+\p{Po} \w+\s \p{Xan}+\s \s+\p{Xan} \s+\w/BWZx
  1785. ------------------------------------------------------------------
  1786. Bra
  1787. prop Xwd +
  1788. prop P
  1789. prop Xwd +
  1790. prop Po
  1791. prop Xwd ++
  1792. prop Xsp
  1793. prop Xan ++
  1794. prop Xsp
  1795. prop Xsp ++
  1796. prop Xan
  1797. prop Xsp ++
  1798. prop Xwd
  1799. Ket
  1800. End
  1801. ------------------------------------------------------------------
  1802. /\w+\P{P} \W+\p{Po} \w+\S \P{Xan}+\s \s+\P{Xan} \s+\W/BWZx
  1803. ------------------------------------------------------------------
  1804. Bra
  1805. prop Xwd +
  1806. notprop P
  1807. notprop Xwd +
  1808. prop Po
  1809. prop Xwd +
  1810. notprop Xsp
  1811. notprop Xan +
  1812. prop Xsp
  1813. prop Xsp +
  1814. notprop Xan
  1815. prop Xsp +
  1816. notprop Xwd
  1817. Ket
  1818. End
  1819. ------------------------------------------------------------------
  1820. /\w+\p{Po} \w+\p{Pc} \W+\p{Po} \W+\p{Pc} \w+\P{Po} \w+\P{Pc}/BWZx
  1821. ------------------------------------------------------------------
  1822. Bra
  1823. prop Xwd +
  1824. prop Po
  1825. prop Xwd ++
  1826. prop Pc
  1827. notprop Xwd +
  1828. prop Po
  1829. notprop Xwd +
  1830. prop Pc
  1831. prop Xwd +
  1832. notprop Po
  1833. prop Xwd +
  1834. notprop Pc
  1835. Ket
  1836. End
  1837. ------------------------------------------------------------------
  1838. /\p{Nl}+\p{Xan} \P{Nl}+\p{Xan} \p{Nl}+\P{Xan} \P{Nl}+\P{Xan}/BWZx
  1839. ------------------------------------------------------------------
  1840. Bra
  1841. prop Nl +
  1842. prop Xan
  1843. notprop Nl +
  1844. prop Xan
  1845. prop Nl ++
  1846. notprop Xan
  1847. notprop Nl +
  1848. notprop Xan
  1849. Ket
  1850. End
  1851. ------------------------------------------------------------------
  1852. /\p{Xan}+\p{Nl} \P{Xan}+\p{Nl} \p{Xan}+\P{Nl} \P{Xan}+\P{Nl}/BWZx
  1853. ------------------------------------------------------------------
  1854. Bra
  1855. prop Xan +
  1856. prop Nl
  1857. notprop Xan ++
  1858. prop Nl
  1859. prop Xan +
  1860. notprop Nl
  1861. notprop Xan +
  1862. notprop Nl
  1863. Ket
  1864. End
  1865. ------------------------------------------------------------------
  1866. /\p{Xan}+\p{Nd} \P{Xan}+\p{Nd} \p{Xan}+\P{Nd} \P{Xan}+\P{Nd}/BWZx
  1867. ------------------------------------------------------------------
  1868. Bra
  1869. prop Xan +
  1870. prop Nd
  1871. notprop Xan ++
  1872. prop Nd
  1873. prop Xan +
  1874. notprop Nd
  1875. notprop Xan +
  1876. notprop Nd
  1877. Ket
  1878. End
  1879. ------------------------------------------------------------------
  1880. /-- End auto-possessification tests --/
  1881. /\w+/8CWBZ
  1882. ------------------------------------------------------------------
  1883. Bra
  1884. Callout 255 0 3
  1885. prop Xwd ++
  1886. Callout 255 3 0
  1887. Ket
  1888. End
  1889. ------------------------------------------------------------------
  1890. abcd
  1891. --->abcd
  1892. +0 ^ \w+
  1893. +3 ^ ^
  1894. 0: abcd
  1895. /[\p{N}]?+/BZO
  1896. ------------------------------------------------------------------
  1897. Bra
  1898. [\p{N}]?+
  1899. Ket
  1900. End
  1901. ------------------------------------------------------------------
  1902. /[\p{L}ab]{2,3}+/BZO
  1903. ------------------------------------------------------------------
  1904. Bra
  1905. [ab\p{L}]{2,3}+
  1906. Ket
  1907. End
  1908. ------------------------------------------------------------------
  1909. /\D+\X \d+\X \S+\X \s+\X \W+\X \w+\X \C+\X \R+\X \H+\X \h+\X \V+\X \v+\X a+\X \n+\X .+\X/BZx
  1910. ------------------------------------------------------------------
  1911. Bra
  1912. \D+
  1913. extuni
  1914. \d+
  1915. extuni
  1916. \S+
  1917. extuni
  1918. \s+
  1919. extuni
  1920. \W+
  1921. extuni
  1922. \w+
  1923. extuni
  1924. AllAny+
  1925. extuni
  1926. \R+
  1927. extuni
  1928. \H+
  1929. extuni
  1930. \h+
  1931. extuni
  1932. \V+
  1933. extuni
  1934. \v+
  1935. extuni
  1936. a+
  1937. extuni
  1938. \x0a+
  1939. extuni
  1940. Any+
  1941. extuni
  1942. Ket
  1943. End
  1944. ------------------------------------------------------------------
  1945. /.+\X/BZxs
  1946. ------------------------------------------------------------------
  1947. Bra
  1948. AllAny+
  1949. extuni
  1950. Ket
  1951. End
  1952. ------------------------------------------------------------------
  1953. /\X+$/BZxm
  1954. ------------------------------------------------------------------
  1955. Bra
  1956. extuni+
  1957. /m $
  1958. Ket
  1959. End
  1960. ------------------------------------------------------------------
  1961. /\X+\D \X+\d \X+\S \X+\s \X+\W \X+\w \X+. \X+\C \X+\R \X+\H \X+\h \X+\V \X+\v \X+\X \X+\Z \X+\z \X+$/BZx
  1962. ------------------------------------------------------------------
  1963. Bra
  1964. extuni+
  1965. \D
  1966. extuni+
  1967. \d
  1968. extuni+
  1969. \S
  1970. extuni+
  1971. \s
  1972. extuni+
  1973. \W
  1974. extuni+
  1975. \w
  1976. extuni+
  1977. Any
  1978. extuni+
  1979. AllAny
  1980. extuni+
  1981. \R
  1982. extuni+
  1983. \H
  1984. extuni+
  1985. \h
  1986. extuni+
  1987. \V
  1988. extuni+
  1989. \v
  1990. extuni+
  1991. extuni
  1992. extuni+
  1993. \Z
  1994. extuni++
  1995. \z
  1996. extuni+
  1997. $
  1998. Ket
  1999. End
  2000. ------------------------------------------------------------------
  2001. /\d+\s{0,5}=\s*\S?=\w{0,4}\W*/8WBZ
  2002. ------------------------------------------------------------------
  2003. Bra
  2004. prop Nd ++
  2005. prop Xsp {0,5}+
  2006. =
  2007. prop Xsp *+
  2008. notprop Xsp ?
  2009. =
  2010. prop Xwd {0,4}+
  2011. notprop Xwd *+
  2012. Ket
  2013. End
  2014. ------------------------------------------------------------------
  2015. /[RST]+/8iWBZ
  2016. ------------------------------------------------------------------
  2017. Bra
  2018. [R-Tr-t\x{17f}]++
  2019. Ket
  2020. End
  2021. ------------------------------------------------------------------
  2022. /[R-T]+/8iWBZ
  2023. ------------------------------------------------------------------
  2024. Bra
  2025. [R-Tr-t\x{17f}]++
  2026. Ket
  2027. End
  2028. ------------------------------------------------------------------
  2029. /[Q-U]+/8iWBZ
  2030. ------------------------------------------------------------------
  2031. Bra
  2032. [Q-Uq-u\x{17f}]++
  2033. Ket
  2034. End
  2035. ------------------------------------------------------------------
  2036. /^s?c/mi8I
  2037. Capturing subpattern count = 0
  2038. Options: caseless multiline utf
  2039. First char at start or follows newline
  2040. Need char = 'c' (caseless)
  2041. scat
  2042. 0: sc
  2043. /a[[:punct:]b]/WBZ
  2044. ------------------------------------------------------------------
  2045. Bra
  2046. a
  2047. [b[:punct:]]
  2048. Ket
  2049. End
  2050. ------------------------------------------------------------------
  2051. /a[[:punct:]b]/8WBZ
  2052. ------------------------------------------------------------------
  2053. Bra
  2054. a
  2055. [b[:punct:]]
  2056. Ket
  2057. End
  2058. ------------------------------------------------------------------
  2059. /a[b[:punct:]]/8WBZ
  2060. ------------------------------------------------------------------
  2061. Bra
  2062. a
  2063. [b[:punct:]]
  2064. Ket
  2065. End
  2066. ------------------------------------------------------------------
  2067. /L(?#(|++<!(2)?/B8COZ
  2068. ------------------------------------------------------------------
  2069. Bra
  2070. Callout 255 0 14
  2071. L?
  2072. Callout 255 14 0
  2073. Ket
  2074. End
  2075. ------------------------------------------------------------------
  2076. /L(?#(|++<!(2)?/B8WCZ
  2077. ------------------------------------------------------------------
  2078. Bra
  2079. Callout 255 0 14
  2080. L?+
  2081. Callout 255 14 0
  2082. Ket
  2083. End
  2084. ------------------------------------------------------------------
  2085. /-- End of testinput7 --/