/-- This is a specialized test for checking, when PCRE is compiled with the EBCDIC option but in an ASCII environment, that newline and white space functionality is working. It catches cases where explicit values such as 0x0a have been used instead of names like CHAR_LF. Needless to say, it is not a genuine EBCDIC test! In patterns, alphabetic characters that follow a backslash must be in EBCDIC code. In data, newlines and other spacing characters must be in EBCDIC, but can be specified as escapes. --/ /-- Test default newline and variations --/ /^A/m ABC 0: A 12\x15ABC 0: A /^A/m 12\x15ABC 0: A 12\x0dABC 0: A 12\x0d\x15ABC 0: A 12\x25ABC 0: A /^A/m 12\x15ABC 0: A 12\x0dABC 0: A 12\x0d\x15ABC 0: A ** Fail No match 12\x25ABC No match /-- Test \h --/ /^A\ˆ/ A B 0: A\x20 /-- Test \H --/ /^A\È/ AB 0: AB ** Fail No match A B No match /-- Test \R --/ /^A\Ù/ A\x15B 0: A\x15 A\x0dB 0: A\x0d A\x25B 0: A\x25 A\x0bB 0: A\x0b A\x0cB 0: A\x0c ** Fail No match A B No match /-- Test \v --/ /^A\¥/ A\x15B 0: A\x15 A\x0dB 0: A\x0d A\x25B 0: A\x25 A\x0bB 0: A\x0b A\x0cB 0: A\x0c ** Fail No match A B No match /-- Test \V --/ /^A\å/ A B 0: A\x20 ** Fail No match A\x15B No match A\x0dB No match A\x25B No match A\x0bB No match A\x0cB No match /-- For repeated items, use an atomic group so that the output is the same for DFA matching (otherwise it may show multiple matches). --/ /-- Test \h+ --/ /^A(?>\ˆ+)/ A B 0: A\x20 /-- Test \H+ --/ /^A(?>\È+)/ AB 0: AB ** Fail No match A B No match /-- Test \R+ --/ /^A(?>\Ù+)/ A\x15B 0: A\x15 A\x0dB 0: A\x0d A\x25B 0: A\x25 A\x0bB 0: A\x0b A\x0cB 0: A\x0c ** Fail No match A B No match /-- Test \v+ --/ /^A(?>\¥+)/ A\x15B 0: A\x15 A\x0dB 0: A\x0d A\x25B 0: A\x25 A\x0bB 0: A\x0b A\x0cB 0: A\x0c ** Fail No match A B No match /-- Test \V+ --/ /^A(?>\å+)/ A B 0: A\x20B ** Fail No match A\x15B No match A\x0dB No match A\x25B No match A\x0bB No match A\x0cB No match /-- End --/