Annotation of embedaddon/php/ext/pcre/tests/preg_match_all_edit_basic.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test preg_match_all() function : basic functionality
! 3: --FILE--
! 4: <?php
! 5: /* Prototype : proto int preg_match_all(string pattern, string subject, array subpatterns [, int flags [, int offset]])
! 6: * Description: Perform a Perl-style global regular expression match
! 7: * Source code: ext/pcre/php_pcre.c
! 8: * Alias to functions:
! 9: */
! 10:
! 11: $string = 'Hello, world! This is a test. This is another test. \[4]. 34534 string.';
! 12:
! 13: var_dump(preg_match_all('/[0-35-9]/', $string, $match1, PREG_OFFSET_CAPTURE|PREG_PATTERN_ORDER, -10)); //finds any digit that's not 4 10 digits from the end(1 match)
! 14: var_dump($match1);
! 15:
! 16: var_dump(preg_match_all('/[tT]his is a(.*?)\./', $string, $match2, PREG_SET_ORDER)); //finds "This is a test." and "This is another test." (non-greedy) (2 matches)
! 17: var_dump($match2);
! 18:
! 19: var_dump(preg_match_all('@\. \\\(.*).@', $string, $match3, PREG_PATTERN_ORDER)); //finds ".\ [...]" and everything else to the end of the string. (greedy) (1 match)
! 20: var_dump($match3);
! 21:
! 22: var_dump(preg_match_all('/\d{2}$/', $string, $match4)); //tries to find 2 digits at the end of a string (0 matches)
! 23: var_dump($match4);
! 24:
! 25: var_dump(preg_match_all('/(This is a ){2}(.*)\stest/', $string, $match5)); //tries to find "This is aThis is a [...] test" (0 matches)
! 26: var_dump($match5);
! 27: ?>
! 28: --EXPECTF--
! 29: int(1)
! 30: array(1) {
! 31: [0]=>
! 32: array(1) {
! 33: [0]=>
! 34: array(2) {
! 35: [0]=>
! 36: string(1) "3"
! 37: [1]=>
! 38: int(61)
! 39: }
! 40: }
! 41: }
! 42: int(2)
! 43: array(2) {
! 44: [0]=>
! 45: array(2) {
! 46: [0]=>
! 47: string(15) "This is a test."
! 48: [1]=>
! 49: string(5) " test"
! 50: }
! 51: [1]=>
! 52: array(2) {
! 53: [0]=>
! 54: string(21) "This is another test."
! 55: [1]=>
! 56: string(11) "nother test"
! 57: }
! 58: }
! 59: int(1)
! 60: array(2) {
! 61: [0]=>
! 62: array(1) {
! 63: [0]=>
! 64: string(21) ". \[4]. 34534 string."
! 65: }
! 66: [1]=>
! 67: array(1) {
! 68: [0]=>
! 69: string(17) "[4]. 34534 string"
! 70: }
! 71: }
! 72: int(0)
! 73: array(1) {
! 74: [0]=>
! 75: array(0) {
! 76: }
! 77: }
! 78: int(0)
! 79: array(3) {
! 80: [0]=>
! 81: array(0) {
! 82: }
! 83: [1]=>
! 84: array(0) {
! 85: }
! 86: [2]=>
! 87: array(0) {
! 88: }
! 89: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>