### 常用正则表达式知识点解析 #### 标题与描述理解 根据所提供的标题“常用正则表达式收集”以及描述“很多,其中有html调用,大部分使用过,没有问题”,我们可以推断出这份文档主要介绍了常用的正则表达式,并且特别提到了这些正则表达式可以用于HTML中,暗示它们适用于网页开发或相关的文本处理场景。描述中的“大部分使用过,没有问题”表明这些正则表达式的实用性和可靠性。 #### 标签分析 - **正则表达式**:表明文档主要内容是关于正则表达式的。 - **HTML**:意味着文档中的正则表达式可能特别适合于HTML文档的解析或操作。 - **JS**:JavaScript,暗示这些正则表达式可以在JavaScript中使用,特别是在网页开发中。 #### 正则表达式基础概念 正则表达式是一种强大的文本匹配工具,广泛应用于各种编程语言中,包括但不限于JavaScript、Python、Perl等。它们能够帮助开发者高效地搜索、替换或提取文本中的模式。以下是一些常见的正则表达式元字符及其用途: 1. **反斜杠 \** - 描述:将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。 - 示例:`'n'` 匹配字符 "n";`'\n'` 匹配一个换行符;`'\\'` 匹配 "\";`'\('` 匹配 "("。 2. **插入符号 ^** - 描述:匹配输入字符串的开始位置。 - 示例:`'^hello'` 只匹配以 "hello" 开始的字符串。 3. **美元符号 $** - 描述:匹配输入字符串的结束位置。 - 示例:`'world$'` 只匹配以 "world" 结尾的字符串。 4. **星号 *** - 描述:匹配前面的子表达式零次或多次。 - 示例:`'a*'` 可以匹配 "a" 的任意数量(包括 0)。 5. **加号 +** - 描述:匹配前面的子表达式一次或多次。 - 示例:`'a+'` 可以匹配 "a" 的一次或多次出现。 6. **问号 ?** - 描述:匹配前面的子表达式零次或一次。 - 示例:`'a?'` 可以匹配 "a" 的零次或一次出现。 7. **花括号 {n}** - 描述:n 是一个非负整数。匹配确定的 n 次。 - 示例:`'a{3}'` 只匹配 "aaa"。 8. **花括号 {n,}** - 描述:n 是一个非负整数。至少匹配 n 次。 - 示例:`'a{3,}'` 可以匹配 "aaa" 或 "aaaa" 等。 9. **花括号 {n,m}** - 描述:m 和 n 均为非负整数,其中 n <= m。最少匹配 n 次且最多匹配 m 次。 - 示例:`'a{2,4}'` 可以匹配 "aa"、"aaa" 或 "aaaa"。 10. **问号 ?** (跟在其他限制符后面) - 描述:当该字符紧跟在任何一个其他限制符 (*,+,?,{n},{n,},{n,m}) 后面时,匹配模式是非贪婪的。 - 示例:`'a*?'` 匹配尽可能少的 "a"。 11. **句点 .** - 描述:匹配除 "\n" 之外的任何单个字符。 - 示例:`'.*'` 可以匹配任何字符组成的字符串。 12. **圆括号 ()** - 描述:匹配括号内的模式。 - 示例:`'(ab)'` 匹配 "ab"。 13. **非捕获组 (?:)** - 描述:匹配括号内的模式,但不捕获该匹配。 - 示例:`'(?:ab|cd)'` 匹配 "ab" 或 "cd"。 14. **正向预查 (?=)** - 描述:在任何匹配 pattern 的字符串开始处匹配查找字符串。 - 示例:`'Windows(?=95|98|NT|2000)'` 可以匹配 "Windows2000" 中的 "Windows",但不能匹配 "Windows3.1" 中的 "Windows"。 15. **负向预查 (?!)** - 描述:在任何不匹配 Negativelookaheadmatchesthe searchstring atanypointwhereastringnotmatching pattern 的字符串开始处匹配查找字符串。 - 示例:`'Windows(?!95|98|NT|2000)'` 可以匹配 "Windows3.1" 中的 "Windows",但不能匹配 "Windows2000" 中的 "Windows"。 16. **竖线 |** - 描述:匹配 x 或 y。 - 示例:`'z|food'` 可以匹配 "z" 或 "food"。 17. **字符集合 [xyz]** - 描述:匹配所包含的任意一个字符。 - 示例:`'[abc]'` 可以匹配 "plain" 中的 'a'。 18. **负值字符集合 [^xyz]** - 描述:匹配未包含在方括号内的任何字符。 - 示例:`'[^abc]'` 可以匹配除了 'a', 'b', 'c' 之外的任何字符。 通过上述元字符的学习,我们不仅能够编写更为复杂的正则表达式,还能够更加熟练地使用正则表达式解决实际问题。例如,在HTML中使用正则表达式可以轻松提取出所有的URL链接、HTML标签或特定格式的文本等。在JavaScript中,这些正则表达式可以被用来实现动态的文本处理功能,如表单验证、数据清洗等。 正则表达式是一种非常实用的工具,掌握其基本语法和常见用法对于任何程序员来说都是非常重要的。
剩余17页未读,继续阅读
- 粉丝: 5
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- LabVIEW实现LoRa通信【LabVIEW物联网实战】
- CS-TY4-4WCN-转-公版-XP1-8B4WF-wifi8188
- 计算机网络期末复习资料(课后题答案+往年考试题+复习提纲+知识点总结)
- 从零学习自动驾驶Lattice规划算法(下) 轨迹采样 轨迹评估 碰撞检测 包含matlab代码实现和cpp代码实现,方便对照学习 cpp代码用vs2019编译 依赖qt5.15做可视化 更新:
- 风光储、风光储并网直流微电网simulink仿真模型 系统由光伏发电系统、风力发电系统、混合储能系统(可单独储能系统)、逆变器VSR+大电网构成 光伏系统采用扰动观察法实现mppt控
- (180014016)pycairo-1.18.2-cp35-cp35m-win32.whl.rar
- (180014046)pycairo-1.21.0-cp311-cp311-win32.whl.rar
- DS-7808-HS-HF / DS-7808-HW-E1
- (180014004)pycairo-1.20.0-cp36-cp36m-win32.whl.rar
- (178330212)基于Springboot+VUE的校园图书管理系统