Title here
Summary here
Here’s the translation of the Go code for regular expressions to PHP, along with explanations in Markdown format suitable for Hugo:
Our example demonstrates common regular expression tasks in PHP. PHP offers built-in support for regular expressions through the PCRE (Perl Compatible Regular Expressions) library.
<?php
// This tests whether a pattern matches a string.
$match = preg_match('/p([a-z]+)ch/', 'peach', $matches);
echo $match ? "true\n" : "false\n";
// In PHP, we don't need to compile the regular expression separately.
// We can use it directly in the preg_* functions.
// This finds the match for the regexp.
preg_match('/p([a-z]+)ch/', 'peach punch', $matches);
echo $matches[0] . "\n";
// This also finds the first match but returns the
// start and end indexes for the match instead of the
// matching text.
preg_match('/p([a-z]+)ch/', 'peach punch', $matches, PREG_OFFSET_CAPTURE);
echo "idx: [" . $matches[0][1] . " " . ($matches[0][1] + strlen($matches[0][0])) . "]\n";
// The preg_match function includes information about
// both the whole-pattern matches and the submatches
// within those matches.
preg_match('/p([a-z]+)ch/', 'peach punch', $matches);
print_r($matches);
// To find all matches for a regexp, use preg_match_all.
preg_match_all('/p([a-z]+)ch/', 'peach punch pinch', $matches);
print_r($matches[0]);
// Providing a limit to preg_match_all will limit the number
// of matches.
preg_match_all('/p([a-z]+)ch/', 'peach punch pinch', $matches, PREG_SET_ORDER, 2);
print_r($matches);
// The preg_replace function can be used to replace
// subsets of strings with other values.
$result = preg_replace('/p([a-z]+)ch/', '<fruit>', 'a peach');
echo $result . "\n";
// The preg_replace_callback function allows you to transform matched
// text with a given function.
$result = preg_replace_callback('/p([a-z]+)ch/', function($matches) {
return strtoupper($matches[0]);
}, 'a peach');
echo $result . "\n";
To run the program, save it as regular-expressions.php
and use php
:
$ php regular-expressions.php
true
peach
idx: [0 5]
Array
(
[0] => peach
[1] => ea
)
Array
(
[0] => peach
[1] => punch
[2] => pinch
)
Array
(
[0] => Array
(
[0] => peach
[1] => ea
)
[1] => Array
(
[0] => punch
[1] => un
)
)
a <fruit>
a PEACH
For a complete reference on PHP regular expressions, check the PHP Manual for PCRE functions.