Home  >  Article  >  Backend Development  >  PHP regular expression practice: matching date format

PHP regular expression practice: matching date format

PHPz
PHPzOriginal
2023-06-22 17:54:443166browse

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:

  • 2021-11-01
  • 2021/11/01
  • 2021 November 01,

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:

  • 11-01-2021
  • 11/01/2021

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:

  • 12:30:00
  • 12:30

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:

  • 2021-11-01 12:30:00
  • November 01, 2021 12 Hours and 30 minutes

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn