1--TEST--
2Test preg_match() function : basic functionality
3--FILE--
4<?php
5/*
6 *  proto int preg_match(string pattern, string subject [, array subpatterns [, int flags [, int offset]]])
7 * Function is implemented in ext/pcre/php_pcre.c
8*/
9$string = 'Hello, world. [*], this is \ a string';
10var_dump(preg_match('/^[hH]ello,\s/', $string, $match1)); //finds "Hello, "
11var_dump($match1);
12var_dump(preg_match('/l^o,\s\w{5}/', $string, $match2, PREG_OFFSET_CAPTURE)); // tries to find "lo, world" at start of string
13var_dump($match2);
14var_dump(preg_match('/\[\*\],\s(.*)/', $string, $match3)); //finds "[*], this is \ a string";
15var_dump($match3);
16var_dump(preg_match('@\w{4}\s\w{2}\s\\\(?:\s.*)@', $string, $match4, PREG_OFFSET_CAPTURE, 14)); //finds "this is \ a string" (with non-capturing parentheses)
17var_dump($match4);
18var_dump(preg_match('/hello world/', $string, $match5)); //tries to find "hello world" (should be Hello, world)
19var_dump($match5);
20?>
21--EXPECTF--
22int(1)
23array(1) {
24  [0]=>
25  string(7) "Hello, "
26}
27int(0)
28array(0) {
29}
30int(1)
31array(2) {
32  [0]=>
33  string(23) "[*], this is \ a string"
34  [1]=>
35  string(18) "this is \ a string"
36}
37int(1)
38array(1) {
39  [0]=>
40  array(2) {
41    [0]=>
42    string(18) "this is \ a string"
43    [1]=>
44    int(19)
45  }
46}
47int(0)
48array(0) {
49}
50