正则表达式全攻略:匹配规则与示例

需积分: 10 1 下载量 96 浏览量 更新于2024-09-12 1 收藏 8KB TXT 举报
"正则表达式是一门强大的文本处理工具,用于匹配、查找、替换等操作。本资源包含了多种常见的正则表达式模式,涵盖了中文字符、双字节字符、空行、HTML标记、首尾空格、Email地址、网址URL、合法帐号等多个方面。下面将对这些正则表达式的功能进行详细解释。 1. 匹配中文字符的正则表达式:`[\u4e00-\u9fa5]` 这个正则用来匹配Unicode范围内的中文字符,范围从\u4e00到\u9fa5。 2. 匹配双字节字符(包括汉字):`[^\x00-\xff]` 它匹配所有非ASCII字符,即双字节字符,包括汉字和其他非英文字符。 3. 匹配空行的正则表达式:`\n[\s| ]*\r` 这个正则表达式可以找出文本中的空行,包括换行符(\n)后面跟着任意数量的空格或制表符,最后是回车符(\r)。 4. 匹配HTML标记的正则表达式:`/<(.*)>.*<\/\1>|<(.*) \/>/` 该正则可以捕获HTML的开启和关闭标签,以及自闭合标签。 5. 匹配首尾空格的正则表达式:`(^\s*)|(\s*$)` 它可以用来删除字符串开头或结尾的空白字符。 6. 匹配Email地址的正则表达式:`\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*` 这个正则能够识别符合标准格式的电子邮件地址。 7. 匹配网址URL的正则表达式:`^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$` 此正则可以检测一个基本的URL结构,包括协议、域名和可选的查询参数。 8. 匹配帐号是否合法:`^[a-zA-Z][a-zA-Z0-9_]{4,15}$` 这个正则确保用户名以字母开始,之后可跟4-15个字母、数字或下划线。 除此之外,还有一些其他正则表达式模式: - `^\d+$` 匹配非负整数(不包括前导零) - `^[0-9]*[1-9][0-9]*$` 匹配正整数(不包括前导零) - `^((-\d+)|(0+))$` 匹配负整数或零 - `^-?[0-9]*[1-9][0-9]*$` 匹配整数(包括正负) - `^\d+(\.\d+)?$` 匹配非负浮点数(不包括前导零) - `^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$` 匹配浮点数(包括正负) - `^((-\d+(\.\d+)?)|(0+(\.0+)?))$` 匹配浮点数(包括正负和零) - `^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$` 同上,但更紧凑的写法 - `^(-?\d+)(\.\d+)?$` 匹配浮点数(包括正负和零) 此外,还有用于匹配特定字符集的正则表达式,如全大写字母、全小写字母、字母数字混合等: - `^[A-Za-z]+$` 匹配全大写字母字符串 - `^[A-Z]+$` 匹配全大写字母字符串(没有下划线) - `^[a-z]+$` 匹配全小写字母字符串 - `^[A-Za-z0-9]+$` 匹配字母数字混合字符串 - `^\w+$` 匹配字母、数字或下划线组成的字符串 邮箱地址和URL的验证也有专门的正则表达式: - `^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$` 验证电子邮件地址 - `^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$` 验证URL 日期格式和电话号码也有相应的正则: - `/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/` 匹配日期格式 - `/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/` 另一种日期格式 - `^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$` 更复杂的电子邮件地址验证 - `/^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$/` 用于验证电话号码 IP地址的正则表达式: - `^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])` 匹配IPv4地址 以上正则表达式在数据验证、文本处理和搜索替换等场景中都有广泛的应用。掌握它们能极大地提高你在处理文本时的效率。"