PHP 正则表达式全解析
1. 正则表达式基础
正则表达式是一种强大的文本匹配工具。例如,正则表达式 .*
可以匹配任意字符,而 ^.*3
则会匹配从行首到行中最后一个数字 “3” 的所有字符。
下面通过日期匹配的例子来深入了解正则表达式。
1.1 日期格式匹配
- 格式一:”Saturday, April 30, 2011”
匹配该日期格式的正则表达式为:/[A-Z][a-z]{2,},\s[A-Z][a-z]{2,}\s\d{1,2},\s\d{4}/
。其含义为:一个大写字母,后面至少跟两个小写字母和一个逗号,接着是一个空格、一个大写字母、至少两个小写字母、一个空格、1 或 2 位数字、一个逗号、一个空格,最后是精确的四位年份数字。
以下是一个 PHP 代码示例来测试该正则表达式:
<?php
$expr = '/[A-Z][a-z]{2,},\s[A-Z][a-z]{2,}\s\d{1,2},\s\d{4}/';
$item = 'Saturday, April 30, 2011.';
if (preg_match($expr, $item)) {
print "Matches\n";
} else {
print "Doesn't match.\n";
}
?>
如果想让正则表达式精确匹配到行