20个常用的正则表达式,能让你少写1,000行代码

2023年 7月 10日 63.9k 0

编程的世界中,有一种神奇的字符模式可以帮助我们高效地处理文本——那就是正则表达式。它就像一个迷你的语言,能够编写强大而复杂的模式,以完成各种文本操作。

今天,我将与你分享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个正则表达式,就像是一个工具箱,能帮助我们高效地处理各种文本问题。虽然正则表达式看起来可能有点复杂,但只要掌握了基本的语法,就能轻松地编写出各种强大的模式。

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论