正则表达式是一种用于字符串搜索和替换操作的强大工具,它遵循一定的规则来定义搜索模式。以下是简单正则表达式的一些基本规则:
字符匹配:
.:匹配除换行符以外的任意单个字符。[abc]:匹配方括号内的任意单个字符。[^abc]:匹配不在方括号内的任意单个字符。
字符类:
[az]:匹配任何小写字母。[AZ]:匹配任何大写字母。[09]:匹配任何数字。[azAZ09]:匹配任何字母或数字。
锚点:
^:匹配输入字符串的开始位置。$:匹配输入字符串的结束位置。
重复限定符:
{n}:匹配前面的字符恰好n次。例如,a{2}匹配“aa”。{n,}:匹配前面的字符至少n次。例如,a{2,}匹配“aa”、“aaa”等。{n,m}:匹配前面的字符至少n次,但不超过m次。例如,a{2,4}匹配“aa”、“aaa”或“aaaa”。
元字符:
d:匹配任何数字,等同于[09]。D:匹配任何非数字字符,等同于[^09]。w:匹配任何字母、数字或下划线字符,等同于[azAZ09_]。W:匹配任何非字母、数字或下划线字符,等同于[^azAZ09_]。
分组与捕获:
:匹配pattern并捕获该匹配的子字符串。:匹配pattern但不捕获该匹配的子字符串。
或条件:
|:表示逻辑“或”。例如,a|b匹配“a”或“b”。
转义字符:
:用于转义元字符或指定特殊序列。例如,.匹配“.”字符本身。
示例: 匹配一个长度为3至15个字符,且只包含字母、数字、下划线或连接符的字符串:^[az09_]{3,15}$。 匹配以“abc”开头的字符串:^abc。 匹配8位数字的QQ号:^d{8}$。 匹配以数字7开头的11位手机号:^7d{10}$。
这些规则可以组合使用,以创建更复杂的搜索模式。