编程的世界中,有一种神奇的字符模式可以帮助我们高效地处理文本——那就是正则表达式。它就像一个迷你的语言,能够编写强大而复杂的模式,以完成各种文本操作。
今天,我将与你分享20个常用的正则表达式,它们可能让你少写1,000行代码。
1. 检测邮箱
要验证一个字符串是否为有效的邮箱地址,可以使用以下正则表达式:
b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b
2. 检测手机号
对于手机号的验证,这个正则表达式可能有所帮助:
^(\+?\d{1,4}[\s-])?(?!0+\s+,?$)\d{10}\s*,?$
3. 检测URL
下面的正则表达式可以用来匹配有效的URL:
^http展开收缩?://[^\s]*$
4. 检测IP地址
这个正则表达式能帮助我们验证一个字符串是否为有效的IP地址:
^(\d{1,3}\.){3}\d{1,3}$
5. 移除行尾空白
想要删除一行文本末尾的空白字符,这个正则表达式将是有用的工具:
\s+$
6. 提取所有链接
要从一段文本中提取所有的链接,以下正则表达式可能派上用场:
http展开收缩?://[^\s]*$
7. 提取图片文件链接
这个正则表达式能从文本中提取所有.jpg或.png格式的图片文件链接:
(http(s?):)([/|.|\w|\s|-])*\.(?:jpg|gif|png)
8. 匹配数字
要匹配字符串中的所有数字,可以使用以下正则表达式:
\d+
如果你想匹配所有非数字字符,这个正则表达式可能有所帮助:
\D+
10. 匹配单词
下面的正则表达式可以用来匹配单词:
\b[A-Za-z]+\b
11. 检测信用卡号
这个正则表达式能帮助我们验证一个字符串是否为有效的信用卡号:
^(?:4[0-9]{12}(?:[0-9]{3})? # Visa | 5[1-5][0-9]{14} # MasterCard | 3[47][0-9]{13} # American Express | 3(?:0[0-5]|[68][0-9])[0-9]{11} # Diners Club | 6(?:011|5[0-9]{2})[0-9]{12} # Discover | (?:2131|1800|35\d{3})\d{11} # JCB )$
12. 匹配HTML标签
以下正则表达式可以用来匹配HTML标签:
]+>
13. 匹配日期
这个正则表达式能帮助我们验证一个字符串是否为有效的日期格式(例如:2021-09-21):
^\d{4}-\d{2}-\d{2}$
14. 检测十六进制颜色
这个正则表达式可以用来验证字符串是否为有效的十六进制颜色代码:
^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
15. 提取所有电子邮件地址
下面的正则表达式可以用来从一段文本中提取所有的电子邮件地址:
\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b
16. 匹配特殊字符
如果你想匹配所有特殊字符,可以使用以下正则表达式:
\W+
17. 匹配空行
这个正则表达式能够帮助我们找到文本中的所有空行:
\n\r?(\s*\n\r?)+
18. 提取所有哈希标签
以下正则表达式可以用来从文本中提取所有的哈希标签:
\#\w+
19. 匹配社保号码
这个正则表达式能帮助我们验证一个字符串是否为有效的社保号码(例如:123-45-6789):
^\d{3}-\d{2}-\d{4}$
20. 提取所有@用户名
下面的正则表达式可以用来从文本中提取所有的@用户名:
@\w+
这20个正则表达式,就像是一个工具箱,能帮助我们高效地处理各种文本问题。虽然正则表达式看起来可能有点复杂,但只要掌握了基本的语法,就能轻松地编写出各种强大的模式。