In PHP, regular expressions are widely used in string matching and replacement. Among them, regular expressions are also widely used for date format matching. This article will introduce how to use PHP regular expressions to match different date formats.
1. Matching year, month and day formats
For common year, month and day formats, such as "YYYY-MM-DD", "YYYY/MM/DD", "YYYYYYMMMMDD" Day", you can use the following regular expression to match.
$pattern = '/^d{4}[-/年]d{1,2}[-/月]d{1,2}[日]?$/';
This regular expression can match the following string:
Among them, d represents a numeric character, {4} represents matching 4 numeric characters, [-/year] represents matching a horizontal line, slash or "year" character, d {1,2} means matching 1 or 2 numeric characters, [日]? means matching 0 or 1 "day" characters. ^ represents the starting position of the matching string, and $ represents the ending position of the matching string.
2. Match the month, day, and year formats
For the month, day, and year formats, such as "MM/DD/YYYY" and "MM-DD-YYYY", you can use the following regular expressions to Make a match.
$pattern = '/^d{1,2}[-/月]d{1,2}[-/年]d{4}$/';
This regular expression can match the following string:
Among them, d{4} means matching 4 numeric characters, [-/year] means matching horizontal lines, slashes or "year" characters, d{1,2} means matching 1 or 2 numeric characters, ^ Indicates the starting position of the matching string, $ indicates the ending position of the matching string.
3. Matching time format
For time formats, such as "HH:MM:SS", "HH hours, MM minutes, SS seconds", you can use the following regular expressions to match.
$pattern = '/^([01]?d|2[0-3])[时:]([0-5]?d)[分:]([0-5]?d)秒?$/';
This regular expression can match the following string:
Among them, () represents group matching, [01]?d represents matching 0 to 19 or 20 to 23, [hour:] represents matching "hour" or ":" characters, [0-5]?d represents matching 0 to 59. [Min:] means matching "minute" or ":" characters, seconds? means matching 0 or 1 "second" characters, ^ means matching the start position of the string, $ means matching the end position of the string.
4. Match date and time formats
For date and time formats, such as "YYYY-MM-DD HH:MM:SS", "YYYY year MM month DD day HH hour MM minute SS second ” can be combined with the above regular expressions of date and time to perform matching.
$pattern = '/^d{4}[-/年]d{1,2}[-/月]d{1,2}[日]? ([01]?d|2[0-3])[时:]([0-5]?d)[分:]([0-5]?d)秒?$/';
This regular expression can match the following string:
The above is a practical method of using PHP regular expressions to match different date formats. When using regular expressions, you need to pay attention to some details, such as matching time zone, matching time range, etc. I hope this article can be helpful to beginners of PHP regular expressions.
The above is the detailed content of PHP regular expression practice: matching date format. For more information, please follow other related articles on the PHP Chinese website!