正则表达式:匹配规则与示例

需积分: 9 0 下载量 114 浏览量 更新于2024-09-13 收藏 8KB TXT 举报
"正则表达式是用于匹配字符串的强大工具,它可以用来验证、提取或替换文本。本资源主要涵盖了一些常见的正则表达式模式及其用途。" 正则表达式(Regular Expression,简称regex)是一种模式匹配语言,广泛应用于数据验证、文本搜索和替换等场景。以下是一些重要的正则表达式知识点: 1. **基本字符类**: - `\d`: 匹配任何数字,等价于 `[0-9]`。 - `\D`: 匹配任何非数字字符,等价于 `[^0-9]`。 - `\s`: 匹配任何空白字符,包括空格、制表符和换行符。 - `\S`: 匹配任何非空白字符,等价于 `[^ \t\n\r\f\v]`。 - `\w`: 匹配任何字母数字字符,包括下划线,等价于 `[a-zA-Z0-9_]`。 - `\W`: 匹配任何非字母数字字符,等价于 `[^a-zA-Z0-9_]`。 2. **预定义字符类**: - `[a-zA-Z]`: 匹配任何小写字母或大写字母。 - `[0-9]`: 匹配任何数字。 - `[\u4e00-\u9fa5]`: 匹配任何中文字符。 3. **量词**: - `*`: 匹配前面的元素零次或多次。 - `+`: 匹配前面的元素一次或多次。 - `?`: 匹配前面的元素零次或一次。 - `{n}`: 匹配前面的元素恰好n次。 - `{n,}`: 匹配前面的元素至少n次。 - `{n,m}`: 匹配前面的元素n到m次。 4. **位置匹配**: - `^`: 匹配输入字符串的开始。 - `$`: 匹配输入字符串的结束。 - `\b`: 匹配单词边界。 5. **分组与选择**: - `(pattern)`: 将模式分组,可以捕获匹配的子串。 - `pattern1|pattern2`: 匹配`pattern1`或`pattern2`。 6. **否定预查**: - `[^pattern]`: 匹配除`pattern`中的字符之外的任何字符。 - `(?!pattern)`: 如果后面不跟着`pattern`,则匹配当前位置。 7. **正则示例**: - 验证手机号码:`^1[3-9]\d{9}$`。 - 验证邮箱地址:`^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$`。 - 提取HTML中的链接:`<a\s+(?:[^>]*?\s+)?href=(["'])(.*?)\1[^>]*>(.*?)</a>`。 - 验证网址URL:`^https?://[^\s/$.?#].[^\s]*$`。 8. **正则表达式的其他用法**: - 在JavaScript中,可以使用`test()`、`match()`、`replace()`和`split()`方法处理正则表达式。 - 在编程语言中,正则表达式通常有全局匹配(g)、多行匹配(m)和忽略大小写(i)等标志。 9. **数字验证**: - 验证是否为正整数:`^[1-9]\d*$`。 - 验证是否为负整数:`^-[1-9]\d*$`。 - 验证是否为非负整数(包括0):`^[1-9]\d*|0$`。 - 验证是否为非正整数(包括0):`^-?[1-9]\d*|0$`。 - 验证浮点数:`^-?([1-9]\d*.d*|0.d*[1-9]d*|0?.0+|0)$`。 10. **字母验证**: - 验证全英文字符:`^[A-Za-z]+$`。 - 验证全大写英文字符:`^[A-Z]+$`。 - 验证全小写英文字符:`^[a-z]+$`。 - 验证字母数字组合:`^[A-Za-z0-9]+$`。 - 验证单词字符(包括下划线):`^w+$`。 掌握这些正则表达式的基本概念和用法,可以大大提高处理文本和数据的能力。在实际应用中,可以根据具体需求组合使用这些规则,创建复杂的匹配模式。