📌 目录:
1. 匹配单个字符
正则表达式 | 说明 | 匹配示例 | 不匹配示例 |
---|---|---|---|
a | 匹配字符 "a" | "apple" , "banana" | "grape" |
\d | 匹配任意数字(0-9) | "123" , "7" | "abc" |
\w | 匹配字母、数字、下划线 | "hello" , "user_1" | "@#%" |
. | 匹配任意字符(除换行符) | "a" , "1" , "?" | "\n" |
2. 匹配多个字符
正则表达式 | 说明 | 匹配示例 | 不匹配示例 |
---|---|---|---|
`cat | dog` | 匹配 "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. 参考资料
🔗 出站链接
🔗 站内链接
这样整理后,你觉得是否符合你的需求?😃
发表回复