Commonly used PHP regular expressions and syntax annotations:
Regular expression to match Chinese characters: [u4e00-u9fa5]
Note: Matching Chinese characters is really a headache. With this expression, it will be easier
Matches double-byte characters (including Chinese characters): [^x00-xff]
Note: Can be used to calculate the length of a string (the length of a double-byte character counts as 2, and the length of an ASCII character counts as 1)
Regular expression to match blank lines: ns*r
Note: Can be used to delete blank lines
Regular expression matching HTML tags: <(S*?)[^>]*>.*?|<.*? />
Note: The version circulating on the Internet is too bad. The above one can only match part of it, and it is still powerless for complex nested tags
Regular expression to match leading and trailing whitespace characters: ^s*|s*$
Note: It can be used to delete whitespace characters at the beginning and end of the line (including spaces, tabs, form feeds, etc.), a very useful expression
Regular expression to match email addresses: w+ ([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
Note: Very useful for form validation
Regular expression to match URL: [a-zA-z]+://[^s]*
Note: The version circulating on the Internet has very limited functions. The above one can basically meet the needs
Whether the matching account is legal (starting with a letter, 5-16 bytes allowed, alphanumeric underscores allowed): ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
Note: Very useful for form validation
Matching domestic phone numbers: d{3}-d{8}|d{4}-d{7}
Note: The matching format is 0511-4405222 or 021-87888822
Matching Tencent QQ number: [1-9][0-9]{4,}
Note: Tencent QQ account starts from 10000
Matching Chinese postal code: [1-9]d{5}(?! d)
Note: China’s postal code is a 6-digit number
Matching ID card: d{15}|d{18}
Note: China’s ID card is 15 or 18 digits
Matching ip address: d+.d+.d+.d+
Note: Useful when extracting IP address
Match specific numbers:
^[1-9]d*$ // Match positive integers
^-[1-9]d*$ // Match negative integers
^-?[1-9]d*$ // Match integer
^[1-9]d*|0$ // Match non-negative integers (positive integers + 0)
^-[1-9]d*|0$ // Match non-positive integers (negative integers + 0)
^[1-9]d*.d*|0.d*[1-9]d*$ //Match positive floating point numbers
^-([1-9]d*.d*|0.d*[1-9]d*)$ // Match negative floating point numbers
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$ //Match floating point number
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$ // Match non-negative floating point numbers (positive floating point numbers + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$ //Match non-positive floating point numbers (negative floating point numbers + 0 )
Note: Useful when processing large amounts of data, please make corrections when applying it specifically
Match specific string:
^[A-Za-z]+$ // Matches a string consisting of 26 English letters
^[A-Z]+$ //Match a string consisting of 26 uppercase English letters
^[a-z]+$ // Matches a string consisting of 26 lowercase English letters
^[A-Za-z0-9]+$ //Match a string consisting of numbers and 26 English letters
^w+$ // Matches a string consisting of numbers, 26 English letters or underscores
Note: Some of the most basic and commonly used expressions