PHP常用正则表达式整理

需积分: 10 1 下载量 3 浏览量 更新于2024-07-27 收藏 67KB DOC 举报
"这篇资源是关于常用正则表达式的收集,涵盖了PHP环境下的一系列常见应用场景,包括匹配中文字符、双字节字符、空白行、HTML标记、首尾空白字符、Email地址、网址URL、合法帐号、国内电话号码、腾讯QQ号、中国邮政编码、身份证号码以及IP地址的正则表达式。" 正则表达式是一种强大的文本处理工具,常用于数据验证、搜索和替换等任务。在PHP中,它们被广泛用于处理字符串,尤其是在表单验证方面。以下是一些重要的正则表达式及其用途: 1. 匹配中文字符的正则表达式:`[\u4e00-\u9fa5]` 这个表达式用于匹配所有中文字符,范围从Unicode的4e00到9fa5,涵盖了大部分汉字。 2. 匹配双字节字符(包括汉字):`[^\x00-\xff]` 双字节字符通常指非ASCII字符,这个表达式可以用于计算包含双字节字符的字符串的实际长度。 3. 匹配空白行的正则表达式:`\n\s*\r` 这个表达式用于匹配并删除包含空格或制表符的空白行。 4. 匹配HTML标记:`<(\S*?)[^>]*>.*?</\1>|<.*?/>` 虽然这个表达式不能处理复杂的嵌套HTML标记,但对于简单的HTML清理和解析还是有所帮助。 5. 匹配首尾空白字符:`^\s*|\s*$` 这个正则表达式可以用于去除字符串开头和结尾的任何空白字符,包括空格、制表符和换页符。 6. 匹配Email地址:`\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*` 该表达式可以识别大部分标准格式的电子邮件地址。 7. 匹配网址URL:`[a-zA-z]+://[^\s]*` 它可以匹配以字母开头,后跟协议(如http或https)和非空白字符的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号码,最小为五位数字,不包括0开头的号码。 11. 匹配中国邮政编码:`[1-9]\d{5}(?!\d)` 验证中国邮政编码,六位数字,且不能以0开头。 12. 匹配身份证号码:`\d{15}|\d{18}` 分别匹配15位和18位的中国身份证号码。 13. 匹配IP地址:`\d+\.\d+\.\d+\.\d+` 这个表达式可以提取和验证IPv4地址。 除了上述列举的正则表达式,还有许多其他特定数字的匹配规则,如匹配正整数、负整数、整数和非负整数的表达式。这些正则表达式是PHP开发者日常工作中不可或缺的工具,可以帮助他们高效地处理各种文本数据。