实用正则表达式大全

需积分: 0 2 下载量 163 浏览量 更新于2024-09-13 收藏 34KB DOC 举报
"这篇资源包含了常见的正则表达式集合,适用于表单验证和其他文本处理场景。" 正则表达式是编程和数据处理中强大的文本匹配工具,它允许我们定义复杂和精确的模式来查找、替换或者操作文本。以下是对标题和描述中提及的一些正则表达式的详细解释和应用: 1. **匹配中文字符**: `[u4e00-u9fa5]` - 这个正则表达式用于匹配Unicode范围内的中文字符。Unicode范围`U+4E00`至`U+9FA5`包含了大部分简体和繁体汉字。 2. **匹配双字节字符**: `[^x00-xff]` - 此表达式匹配所有非ASCII字符,通常用于计算包含非英文字符的字符串长度,因为一个双字节字符在内存中占用两个字节。 3. **匹配空白行**: `ns*r` - 这个正则表达式可以匹配任何包含换行符的新行。`n`代表换行符,`s`代表任何空白字符,`*`表示前面的元素可以重复任意次,`r`代表回车符。结合使用可以找到并处理空白行。 4. **匹配HTML标记**: `<(*?)[^>]*>.*?|<.*?>` - 这个正则表达式试图匹配HTML标签,但对嵌套标签的支持并不完全。在处理简单的HTML文本时可能有用,但对于复杂的HTML结构,应使用HTML解析库。 5. **匹配首尾空白字符**: `^s*|s*$` - 这个正则表达式可以用来删除字符串开始或结束的空白字符,包括空格、制表符等。 6. **匹配Email地址**: `w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*` - 此表达式用于验证电子邮件地址格式,但它可能无法匹配所有有效的电子邮件地址,因为电子邮件地址的格式相当复杂。在实际应用中,可能需要更复杂的正则表达式或者使用专门的验证库。 7. **匹配网址URL**: `[a-zA-z]+://[^s]*` - 此正则表达式可以匹配基本的URL格式,但可能无法处理所有变种,例如带有特殊字符或查询字符串的URL。 8. **匹配合法的账号**: `^[a-zA-Z][a-zA-Z0-9_]{4,15}$` - 用于验证以字母开头,长度在5-16个字符之间的账号,其中可以包含字母、数字和下划线。 9. **匹配国内电话号码**: `d{3}-d{8}|d{4}-d{7}` - 这个正则表达式匹配中国电话号码的标准格式,如0511-4405222或021-87888822。 10. **匹配腾讯QQ号**: `[1-9][0-9]{4,}` - 用于识别腾讯QQ号,它必须以1到9的数字开头,后面跟着4个或更多数字。 11. **匹配中国邮政编码**: `[1-9]d{5}(?!d)` - 用于验证中国6位数字的邮政编码。 12. **匹配身份证**: `d{15}|d{18}` - 可以识别15位或18位的中国身份证号码。 13. **匹配IP地址**: `d+.d+.d+.d+` - 用于提取或验证IPv4地址。 14. **匹配特定数字**: - `^[1-9]d*$` 匹配正整数 - `^-[1-9]d*$` 匹配负整数 - `^-?[1-9]d*$` 匹配整数 - `^[1-9]d*|0$` 匹配非负整数 - `^-[1-9]d*|0$` 匹配非正整数 - `^[1-9]d*.d*|0.d*[1-9]d*$` 匹配正浮点数 - `^-([1-9]d*.d*|0.d*[1-9]d*)$` 匹配负浮点数 - `^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$` 匹配浮点数 这些正则表达式在进行数据验证、数据清洗、文本分析等任务时非常有用。然而,需要注意的是,正则表达式并非万能,对于复杂情况,可能需要更复杂或特定的解决方案。在实际使用中,确保根据具体需求调整和测试正则表达式。