【Consolidating PHP series】PHP regular expressions
1. Overview
1. Regular expression test address: http://tool.chinaz.com/regex/
2. Specific commonly used regular expressions
1. Email regular expression:
1) w[-w.+]*@([A-Za-z0-9][-A-Za-z0-9]+.)+[A-Za- z]{2,14}
2) w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
3) Analysis:
-- " " " is called "escape character". Used to escape some special symbols, such as ".","/"
-- "w" Equivalent to [a-zA-Z0-9_]. Also matches Chinese characters
--"+" 1 to 1 or more times, can also be written as {1,}
--"Parentheses" are used to specify subexpressions (also called groupings), and then you can specify the repetition of this subexpression times, ([-+.]w+)*
--[-+.] The part expanded by square brackets is the character field
--.
<?php $email = 'sishuinianhua@qq.com'; $preg = '/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/'; $res = preg_match($preg, $email, $preg_res); var_dump(111,$res,$preg_res);exit;--preg_match(): http://php.net/manual/zh/function.preg-match.php2. URL expression: 1) [a-zA-z]+:// [^s]+ 2) Analysis: -- ^ > Put it in the character field (such as: [^w]) to express negation (meaning not to include) - "reverse selection" Placed before the expression, it means starting with the current character. (/^n/i, means starting with n). -- s Matches any whitespace character 3. Appendix 1. Commonly used metacharacters
Code Description
. Matches any character except line breaksw Matches letters or numbers or underscores
s match Any whitespace character
d Matches numbers
b Matches the beginning or end of a word
^ Matches the beginning of a string
$ Matches the end of a string
2. Commonly used qualifiers
Code/Syntax Description* Repeat zero times or more times
+ Repeat one or more times
? Repeat zero or once
{n} Repeat n times
{n,} Repeat n times or more
{n,m} Repeat n to m times
3. Commonly used antonyms
Code/Grammar DescriptionW Matches any character that is not a letter, number, underscore, or Chinese character
S Matches any character that is not a whitespace character
D Matches any character that is not a digit
B Matches something other than the beginning of a word Or the ending position
[^x] Matches any character except x
[^aeiou] Matches any character except the letters aeiou