正则表达式(Regular Expression,简称 regex 或 regexp)是一种强大的文本处理工具,用于匹配、查找和替换字符串中的模式。以下是一些常用正则表达式的归纳和示例:
1. 数字
- 匹配任何数字:
\d
或[0-9]
- 匹配整数:
^\d+$
- 匹配浮点数:
^-?\d+(\.\d+)?$
2. 字母和数字
- 匹配任何字母或数字:
\w
或[a-zA-Z0-9_]
- 匹配由字母、数字组成的字符串:
^\w+$
3. 空白字符
- 匹配任何空白字符(空格、制表符、换行符等):
\s
- 匹配非空白字符:
\S
4. 边界
- 匹配字符串开始:
^
- 匹配字符串结束:
$
- 匹配单词边界:
\b
5. 字符集
- 匹配字符集中的任何字符:
[abc]
匹配 "a"、"b" 或 "c" - 匹配不在字符集中的任何字符:
[^abc]
匹配除 "a"、"b" 和 "c" 之外的任何字符
6. 重复
- 匹配前面的子表达式零次或多次:
*
- 匹配前面的子表达式一次或多次:
+
- 匹配前面的子表达式零次或一次:
?
- 匹配前面的子表达式 n 次:
{n}
- 匹配前面的子表达式至少 n 次:
{n,}
- 匹配前面的子表达式 n 到 m 次:
{n,m}
7. 分组与引用
- 分组:
(...)
- 引用前面的分组:
\1
、\2
等(表示引用第一个、第二个分组) - 非捕获分组:
(?:...)
8. 选择
- 匹配前面的子表达式之一:
|
9. 转义字符
- 匹配字面意义上的字符:
\
(用于转义特殊字符,如\.
匹配 ".")
示例
- 匹配电子邮件地址(简单版):
^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$
- 匹配 URL(简单版):
^(http|https):\/\/[^\s/$.?#].[^\s]*$
- 匹配 HTML 标签:
<[^>]+>
注意:由于正则表达式的复杂性,上述示例可能无法处理所有边界情况。在实际应用中,可能需要更复杂的表达式或结合其他文本处理工具来达到所需的效果。