正则表达式实用大全
需积分: 9 195 浏览量
更新于2024-09-15
收藏 4KB TXT 举报
"这篇资料主要介绍了正则表达式的常见用法,包括匹配中文字符、双字节字符、计算字符串长度、处理HTML标签、去除字符串首尾空格、转换IP地址和验证邮箱及URL等。"
正则表达式是编程语言中用于处理文本的强大工具,可以用来查找、替换或提取特定模式的字符串。以下是一些关键知识点:
1. **匹配中文字符**:正则表达式`[\u4e00-\u9fa5]`用于匹配任何中文字符。这个范围涵盖了Unicode中的所有汉字。
2. **匹配双字节字符**:`[^\x00-\xff]`用来匹配非ASCII字符,即双字节字符,包括但不限于汉字。在计算字符串长度时,这样的字符会被视为两个单位。
3. **计算字符串长度**:在JavaScript中,可以通过替换非ASCII字符为多个占位符,然后计算结果字符串的长度来获取包含双字节字符的字符串的实际长度。例如,`String.prototype.len = function() { return this.replace(/[^\x00-\xff]/g, "aa").length; }`。
4. **处理HTML标签**:`/<(.*)>.*<\/\1>|<(.*)\/>/` 是一个正则表达式,用于匹配HTML标签,无论是带有闭合标签还是自闭和标签。
5. **去除字符串首尾空格**:`/(^\s*)|(\s*$)/g` 可以用来删除字符串开头和结尾的空白字符,如空格和制表符。在JavaScript中,可以创建一个新的`trim`方法,如 `String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); }`。
6. **转换IP地址**:正则表达式`/(\d+)\.(\d+)\.(\d+)\.(\d+)/g` 可以用于匹配IP地址格式,并通过数学运算将其转换为十进制数值。例如,函数 `IP2V(ip)` 将IP地址转换为整数。
7. **验证邮箱地址**:`\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*` 是一个常见的邮箱地址验证正则表达式,它可以匹配大多数有效的电子邮件地址格式。
8. **验证URL**:`http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?` 用于匹配HTTP URL,包括域名和可选的路径、查询参数等。
9. **重复字符查找**:通过正则表达式`(.).*\1` 可以找到字符串中重复的子串,如`vars1 = s.replace(/(.).*\1/g, "$1")`。
10. **去除重复字符**:使用 `replace` 方法和自定义的正则表达式,可以去除字符串中的重复字符,如`vars2 = s.replace(re, "")`。
这些正则表达式在处理字符串时非常实用,可以大大提高代码的效率和准确性。在编程中熟练掌握正则表达式,可以极大地提升处理文本数据的能力。
2018-05-22 上传
2017-10-18 上传
2019-09-29 上传
2024-11-08 上传
2024-11-08 上传
2024-11-08 上传
2024-11-08 上传
2024-11-08 上传
路边的油条
- 粉丝: 2
- 资源: 12
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍