📌 目录:

  1. 匹配单个字符
  2. 匹配多个字符
  3. 使用量词匹配
  4. 边界匹配
  5. 分组与回溯引用
  6. 正则表达式的应用示例
  7. 参考资料

1. 匹配单个字符

正则表达式说明匹配示例不匹配示例
a匹配字符 "a""apple", "banana""grape"
\d匹配任意数字(0-9)"123", "7""abc"
\w匹配字母、数字、下划线"hello", "user_1""@#%"
.匹配任意字符(除换行符)"a", "1", "?""\n"

2. 匹配多个字符

正则表达式说明匹配示例不匹配示例
`catdog`匹配 "cat""dog""cat", "dog"
[aeiou]匹配元音字母"apple", "orange""sky"
[a-z]匹配小写字母"hello", "zebra""123"
[0-9]匹配数字"7", "2024""hello"
[^aeiou]匹配非元音字符"sky", "bcd""apple"

3. 使用量词匹配

正则表达式说明匹配示例不匹配示例
a*匹配 "a" 0 次或多次"", "a", "aaa""b"
a+匹配 "a" 1 次或多次"a", "aaa""", "b"
a?匹配 "a" 0 次或 1 次"", "a""aa", "b"
a{3}匹配 "a" 恰好 3 次"aaa""aa", "aaaa"
a{2,4}匹配 "a" 2 到 4 次"aa", "aaa", "aaaa""a", "aaaaa"

4. 边界匹配

正则表达式说明匹配示例不匹配示例
^hello匹配 "hello" 开头"hello world""world hello"
world$匹配 "world" 结尾"hello world""world hello"
\bcat\b匹配独立的 "cat""the cat is cute""category"
\Bing匹配 "ing" 非单词边界"ringing""ing"

5. 分组与回溯引用

正则表达式说明匹配示例不匹配示例
(ab)+"ab" 作为整体重复"ab", "abab""aabb"
(\d{3})-(\d{4})捕获组匹配电话格式"123-4567""1234-567"
(\w+)\s\1匹配重复单词"hello hello""hello world"
(\d)\1匹配连续相同数字"11", "22""12", "34"

6. 正则表达式的应用示例

示例 1:匹配电子邮件地址

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

📌 匹配示例:
"user@example.com"
"hello.world@domain.co"

不匹配示例:
"user@com"
"@example.com"


示例 2:匹配 IPv4 地址

^(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)$

📌 匹配示例:
"192.168.1.1"
"255.255.255.255"

不匹配示例:
"256.100.100.100"
"192.168.1"


示例 3:匹配 URL

^(https?:\/\/)?(www\.)?[\w-]+(\.[\w-]+)+([/?#].*)?$

📌 匹配示例:
"http://example.com"
"https://www.example.com/path?query=value"

不匹配示例:
"ftp://example.com"
"example"


示例 4:匹配日期(YYYY-MM-DD 格式)

^(19|20)\d\d-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$

📌 匹配示例:
"2024-03-30"
"1999-12-31"

不匹配示例:
"2024-13-01"(月份错误)
"2024-02-30"(日期错误)


示例 5:匹配国内手机号(中国)

^1[3-9]\d{9}$

📌 匹配示例:
"13812345678"
"15987654321"

不匹配示例:
"12345678901"(开头错误)
"1381234567"(长度错误)


7. 参考资料

🔗 出站链接

🔗 站内链接


这样整理后,你觉得是否符合你的需求?😃