regular expression
URL
[a-zA-z]+://[^\s]*IP Address
((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*QQ number
[1-9]\d{4,}HTML markup (containing content or self-closing)
<(.*)(.*)>.*<\/\1>|<(.*) \/>Password (composed of numbers/uppercase letters/lowercase letters/punctuation marks, all four must be present, more than 8 characters)
(?=^.{8,}$)(?=.*\d)(?=.*\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$Date (year-month-day)
(\d{4}|\d{2})-((1[0-2])|(0?[1-9]))-(([12][0-9])|(3[01])|(0?[1-9]))Date (month/day/year)
((1[0-2])|(0?[1-9]))/(([12][0-9])|(3[01])|(0?[1-9]))/(\d{4}|\d{2})Time (hour:minute, 24-hour format)
((1|0?)[0-9]|2[0-3]):([0-5][0-9])Kanji (characters)
[\u4e00-\u9fa5]Chinese and full-width punctuation marks (characters)
[\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]Mainland China landline phone number
(\d{4}-|\d{3}-)?(\d{8}|\d{7})Mainland China mobile phone number
1\d{10}Mainland China postal code
[1-9]\d{5}Mainland China ID number (15 or 18 digits)
\d{15}(\d\d[0-9xX])?non-negative integer (positive integer or zero)
\d+positive integer
[0-9]*[1-9][0-9]*negative integer
-[0-9]*[1-9][0-9]*integer
-?\d+decimal
(-?\d+)(\.\d+)?Words that do not contain abc
\b((?!abc)\w)+\bRegular expression: refers to a single string used to describe or match a series of strings that conform to a certain syntax rule. Simply put, we write a template and then match the string.
Let's take a look at some basic regular expression syntax:
: Mark the next character as a special character, a literal character, a back reference or an octal escape character such as "n" which matches a newline character.
^: Matching starting position, ^(a) matches the starting position and must be a.
$: Matching end position, $(a) must match the ending position with a.
: Matches the previous subexpression zero or more times, such as "xu"This expression can match "x" and "xuu".
+: Matches the previous subexpression one or more times. For example, the expression "xu+" can match "xuu" and "xu", but cannot match "x". This is the difference from "*".
?: Matches the previous subexpression zero or once. For example, the expression "xu?" can match "jian(guo)?" and "jian" and "jianguo" can be matched.
{n}: n is a non-negative number, matching n times, such as "guo{2}", which can match "guoo" but not "guo".
{n,}: n is a non-negative number, matched at least n times.
{n, m}: m and n are both non-negative numbers, matching at least n times and at most m times.
(pattern): Match pattern and get the matching result.
(?:pattern): matches pattern but does not obtain the matching result.
x|y: matches x or y, such as "(xu|jian)guo" matches "xuguo" or "jianguo".
[xyz]: Character set, matching any characters contained. For example, "[abc]" can match the "a" in "apple".
1: Matches uncontained characters.
[a-z]: Character range, matches any character within the specified range.
2: Matches any character not within the specified range.
b: Match the boundary of a word, such as "guob" can match "guo" in "xujianguo".
B: Matches non-word boundaries. For example, "jianB" can match "jian" in "xujianguo".
d: Matches a numeric character, equivalent to "[0-9]".
D: Matches a non-numeric character.
f: Matches a form feed character.
n: Matches a newline character.
r: Matches a carriage return character.
s: matches any whitespace character
In fact, there are many more grammars that I won’t list one by one. Let’s talk about them first.
- xyz ↩
- a-z ↩