常用正则脚本
正则表达式是一种用来匹配文本模式的强大工具。它可以用于各种任务,例如:
- 验证数据
- 提取信息
- 替换文本
以下是一些常用的正则案例:
1. 验证数据
正则表达式可以用于验证数据,例如:
- 验证日期格式
- 验证数字范围
- 验证邮箱地址
验证日期格式
1 | ^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$ |
这个正则表达式匹配格式为 YYYY-MM-DD
的日期。
验证数字范围
1 | ^[0-9]{1,}$ |
这个正则表达式匹配任何由 1 到无穷多个数字组成的字符串。
验证邮箱地址
1 | ^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z]+$ |
这个正则表达式匹配格式为 user@domain.com
的邮箱地址。
2. 提取信息
正则表达式可以用于提取信息,例如:
- 提取 URL 中的域名
- 提取 HTML 文档中的标签
- 提取文本中的数字
提取 URL 中的域名
1 | ^https?://[a-zA-Z0-9-]+\.[a-zA-Z]+$ |
这个正则表达式匹配 https://
或 http://
开头,由字母、数字、减号组成的域名。
提取 HTML 文档中的标签
1 | <(.+?)> |
这个正则表达式匹配 <
开头,由任意字符组成的字符串,再跟随 >
结尾。
提取文本中的数字
1 | ^[0-9]+$ |
这个正则表达式匹配由 1 到无穷多个数字组成的字符串。
3. 替换文本
正则表达式可以用于替换文本,例如:
- 替换所有空格为下划线
- 替换所有数字为字母
- 替换所有标点符号为空格
替换所有空格为下划线
1 | \s+ -> _ |
这个正则表达式匹配任意多个空格,并将其替换为 _
。
替换所有数字为字母
1 | [0-9] -> [a-z] |
这个正则表达式匹配任何数字,并将其替换为任意字母。
替换所有标点符号为空格
1 | [\p{P}] -> |
这个正则表达式匹配任何标点符号,并将其替换为空格。
以下是一些具体的案例:
案例 1:验证用户名
1 | function validateUsername(username) { |
这个函数使用正则表达式 /^[a-zA-Z0-9_.]{6,20}$/
来验证用户名。该正则表达式匹配由 6 到 20 个字符组成的字符串,其中可以包含字母、数字、下划线和句点。
案例 2:提取 HTML 文档中的链接
1 | function extractLinks(html) { |