Java-PHP正则表达式的使用
匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:ns*r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:<(S*?)[^>]*>.*?|<.*? /> 评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力 匹配首尾空白字符的正则表达式:^s*|s*$ 评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用 的表达式 匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 评注:表单验证时很实用 匹配网址URL的正则表达式:[a-zA-z]+://[^s]* 评注:网上流传的版本功能很有限,上面这个基本可以满足需求 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 评注:表单验证时很实用 匹配国内电话号码:d{3}-d{8}|d{4}-d{7} 评注:匹配形式如 0511-4405222 或 021-87888822 匹配腾讯QQ号:[1-9][0-9]{4,} 评注:腾讯QQ号从10000开始 匹配中国邮政编码:[1-9]d{5}(?!d) 评注:中国邮政编码为6位数字 匹配身份证:d{15}|d{18} 评注:中国的身份证为15位或18位 匹配ip地址:d+.d+.d+.d+ 评注:提取ip地址时有用 匹配特定数字: ^[1-9]d*$ //匹配正整数 ^-[1-9]d*$ //匹配负整数 ^-?[1-9]d*$ //匹配整数 ^[1-9]d*|0$ //匹配非负整数(正整数 + 0) ^-[1-9]d*|0$ //匹配非正整数(负整数 + 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)$ //匹配浮点数 ^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$ //匹配非负浮点数(正浮点数 + 0) ^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$ //匹配非正浮点数(负浮点数 + 0) 评注:处理大量数据时有用,具体应用时注意修正 匹配特定字符串: ^[A-Za-z]+$ //匹配由26个英文字母组成的字符串 ^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串 ^[a-z]+$ //匹配由26个英文字母的小写组成的字符串 ^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串 ^w+$ //匹配由数字、26个英文字母或者下划线组成的字符串 在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式介绍如下: 只能输入数字:“^[0-9]*$” 只能输入n位的数字:“^d{n}$” 只能输入至少n位数字:“^d{n,}$” 只能输入m-n位的数字:“^d{m,n}$” 只能输入零和非零开头的数字:“^(0|[1-9][0-9]*)$” 只能输入有两位小数的正实数:“^[0-9]+(.[0-9]{2})?$” 只能输入有1-3位小数的正实数:“^[0-9]+(.[0-9]{1,3})?$” 只能输入非零的正整数:“^+?[1-9][0-9]*$” 只能输入非零的负整数:“^-[1-9][0-9]*$” 只能输入长度为3的字符:“^.{3}$” 只能输入由26个英文字母组成的字符串:“^[A-Za-z]+$” 只能输入由26个大写英文字母组成的字符串:“^[A-Z]+$” 只能输入由26个小写英文字母组成的字符串:“^[a-z]+$” 只能输入由数字和26个英文字母组成的字符串:“^[A-Za-z0-9]+$” 只能输入由数字、26个英文字母或者下划线组成的字符串:“^w+$” 验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18之间, 只能包含字符、数字和下划线。 验证是否含有^%&'',;=?$"等字符:“[^%&'',;=?$x22]+” 只能输入汉字:“^[u4e00-u9fa5],{0,}$” 验证Email地址:“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$” 验证InternetURL:“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$” 验证电话号码:“^((d{3,4})|d{3,4}-)?d{7,8}$” 正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”, “XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。 验证身份证号(15位或18位数字):“^d{15}|d{}18$” 验证一年的12个月:“^(0?[1-9]|1[0-2])$”正确格式为:“01”-“09”和“1”“12” 验证一个月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$” 正确格式为:“01”“09”和“1”“31”。 匹配中文字符的正则表达式: [u4e00-u9fa5] 匹配双字节字符(包括汉字在内):[^x00-xff] 匹配空行的正则表达式:n[s| ]*r 匹配HTML标记的正则表达式:/<(.*)>.*|<(.*) />/ 匹配首尾空格的正则表达式:(^s*)|(s*$) 匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 根据提供的标题、描述以及部分内容,我们可以总结出一系列与正则表达式相关的知识点,这些知识点主要应用于Java、PHP等编程语言中。以下是对这些知识点的详细解释: ### 匹配中文字符 **正则表达式**: `[u4e00-u9fa5]` **用途**: 匹配中文字符。 **评注**: 在处理中文文本时,这个表达式非常有用。它覆盖了大部分常用的汉字范围。 ### 匹配双字节字符 **正则表达式**: `[^x00-xff]` **用途**: 匹配所有双字节字符,包括汉字在内的各种非ASCII字符。 **评注**: 可用于计算包含中文等双字节字符的字符串长度。一个双字节字符占两个字节,而ASCII字符仅占一个字节。 ### 匹配空白行 **正则表达式**: `n\s*r` **用途**: 删除或匹配空白行。 **评注**: 这个表达式能够帮助识别并处理文本中的空白行,比如在文件预处理时清理数据。 ### 匹配HTML标记 **正则表达式**: `<(\S*?)\s*>.*?|<.*?/>` **用途**: 匹配HTML标签。 **评注**: 尽管这个表达式有一定的局限性,无法处理复杂的嵌套标签,但在简单的场景下仍然有用。 ### 匹配首尾空白字符 **正则表达式**: `^\s*|\s*$` **用途**: 去除字符串首尾的空白字符,包括但不限于空格、制表符、换页符等。 **评注**: 对于数据清洗非常有用,特别是在处理用户输入时。 ### 匹配Email地址 **正则表达式**: `\w+([-+.]\w+)*@\w+([-.]\w+)*.\w+([-.]\w+)*` **用途**: 验证Email地址的有效性。 **评注**: 在表单验证中常用,确保用户输入的是有效的电子邮件地址。 ### 匹配网址URL **正则表达式**: `[a-zA-z]+://[^s]*` **用途**: 提取或验证URL。 **评注**: 虽然这个表达式有一些限制,但基本上能满足大多数需求。 ### 匹配帐号合法性 **正则表达式**: `^[a-zA-Z][a-zA-Z0-9_]{4,15}$` **用途**: 检查账户名是否符合规范。 **评注**: 确保账户名以字母开头,并且只包含字母、数字和下划线,长度在5到16个字符之间。 ### 匹配国内电话号码 **正则表达式**: `\d{3}-\d{8}|\d{4}-\d{7}` **用途**: 验证国内电话号码的格式。 **评注**: 支持多种常见的电话号码格式,如`0511-4405222`或`021-87888822`。 ### 匹配腾讯QQ号 **正则表达式**: `[1-9][0-9]{4,}` **用途**: 验证腾讯QQ号的有效性。 **评注**: 腾讯QQ号从10000开始,该表达式能够确保号码是合法的。 ### 匹配中国邮政编码 **正则表达式**: `[1-9]\d{5}(?!\d)` **用途**: 验证中国邮政编码。 **评注**: 中国的邮政编码为6位数字。 ### 匹配身份证号 **正则表达式**: `\d{15}|\d{18}` **用途**: 验证身份证号。 **评注**: 中国的身份证号长度为15位或18位。 ### 匹配IP地址 **正则表达式**: `\d+\.\d+\.\d+\.\d+` **用途**: 提取或验证IP地址。 **评注**: 可用于网络应用中获取客户端的IP地址。 ### 匹配特定数字 - **正整数**: `^[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)$` - **非负浮点数**: `^[1-9]\d*.\d*|0.\d*[1-9]\d*|0?.0+|0$` - **非正浮点数**: `^(-([1-9]\d*.\d*|0.\d*[1-9]\d*))|0?.0+|0$` **用途**: 处理和验证不同类型的数字。 **评注**: 这些表达式在处理数字数据时非常有用,尤其是在进行数值运算之前进行数据类型检查。 ### 匹配特定字符串 - **26个英文字母**: `^[A-Za-z]+$` - **26个英文字母大写**: `^[A-Z]+$` - **26个英文字母小写**: `^[a-z]+$` - **数字和26个英文字母**: `^[A-Za-z0-9]+$` - **数字、26个英文字母或下划线**: `^\w+$` **用途**: 验证字符串是否符合特定格式。 **评注**: 在创建密码策略、用户名验证等方面很有用。 ### 使用RegularExpressionValidator验证控件时的验证功能及表达式 - **只能输入数字**: `"^[0-9]*$"` - **只能输入n位的数字**: `"^d{n}$"` - **只能输入至少n位数字**: `"^d{n,}$"` - **只能输入m-n位的数字**: `"^d{m,n}$"` - **只能输入零和非零开头的数字**: `"^(0|[1-9][0-9]*)$"` - **只能输入有两位小数的正实数**: `"^[0-9]+(.[0-9]{2})?$"` - **只能输入有1-3位小数的正实数**: `"^[0-9]+(.[0-9]{1,3})?$"` - **只能输入非零的正整数**: `"^+?[1-9][0-9]*$"` - **只能输入非零的负整数**: `"^-[1-9][0-9]*$"` - **只能输入长度为3的字符**: `"^.{3}$"` - **只能输入由26个英文字母组成的字符串**: `"^[A-Za-z]+$"` **用途**: 在表单验证中限制用户输入的数据类型。 **评注**: 这些表达式可用于确保用户输入的数据符合预期的格式,提高数据的质量和准确性。 通过上述知识点的介绍,我们可以看出正则表达式是一种非常强大的工具,能够在各种编程语言中实现对字符串的精确匹配和操作。无论是数据验证、数据清洗还是文本分析,正则表达式都能提供极大的帮助。在实际开发过程中,根据具体需求选择合适的正则表达式非常重要。
剩余36页未读,继续阅读
- themrdn2013-06-08可以,要认真看一下
- 粉丝: 52
- 资源: 62
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Matlab版本2023b的Embedded Coder Support Package for ARM Cortex-M Processors支持包免费分享,1.8G压缩包分成3个(2/3)
- ghostscript-10.0.0
- 医疗保障信息平台定点医药机构接口规范
- Python编程基础入门到高级开发技巧指南
- 手机充电头外观尺寸检测机工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- JSP EIMS系统-OA子系统的设计与开发(源代码+LW).zip
- (JSP)JTBC_CMS_2.0.0.8.zip
- linux java jdk8
- Windows系统上Tomcat的安装与配置详解
- Linux-Shell基础命令语言
- 服装图像数据集,衣服图像数据,包含服装属性
- Matlab版本2023b的Embedded Coder Support Package for ARM Cortex-M Processors支持包免费分享,1.8G压缩包分成3个(3/3)
- glove11111wwee.pdf
- ECharts象形柱图-圣诞愿望清单和山峰高度-4.zip
- ECharts象形柱图-人体含水量-2.zip
- ECharts象形柱图-驯鹿的速度-6.zip