正则表达式:匹配规则与示例
需积分: 9 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+$`。
掌握这些正则表达式的基本概念和用法,可以大大提高处理文本和数据的能力。在实际应用中,可以根据具体需求组合使用这些规则,创建复杂的匹配模式。
1799 浏览量
1887 浏览量
1057 浏览量
210 浏览量
2025-01-09 上传
2025-01-09 上传
2025-01-09 上传
2025-01-09 上传
wiki223
- 粉丝: 0
- 资源: 5
最新资源
- 3-en-raya-1era-parte-:连续3项任务San Pablo
- matlab代码sqrt-coa:用C++编写的布谷鸟优化算法(COA)
- zitiwenjian.rar
- 飞行员:我在硕士论文中创建了一个简单的项目。 它旨在显示用于移动应用程序开发的最流行的跨平台框架的异同。 还包括本机解决方案
- 兰大2018届计算机组成课程PPT
- Dollar:可在heroku中使用的单独的类似FB的应用程序,因为它已在烧瓶上完全堆满并起React
- junfai,matlab中rand的源码,matlab源码之家
- 食品饮料制造业解决方案.rar
- ElectricWow.9o51twf5ei.gahQfEe
- androidtest:android pritace
- react-native-toolbox:一组脚本来简化React Native开发
- 现代hy308手写板驱动 v9.8 官方版
- tns-template-vue:具有TypeScript,PostCSS,Tailwind,Vuex,Vue Router,Webpack等的NativeScript Vue模板
- 算折射率-计算算折射率的一款实用软件包括NK值
- 光线追踪:Projet d'imagerienumérique
- patrick-fulghum.github.io