EL表达式大全:正则验证实例

需积分: 9 0 下载量 95 浏览量 更新于2024-09-15 收藏 7KB TXT 举报
"常用EL表达式集合,包括正则表达式,用于数据验证等场景。" 在Java开发中,EL(Expression Language)表达式是JSP 2.0引入的一种轻量级的脚本语言,主要用于简化对JavaBeans属性的访问。然而,这里的"EL表达式"可能是指正则表达式(Regular Expressions),而非JSP EL。正则表达式是一种强大的文本处理工具,广泛用于数据验证、搜索、替换等场景。 以下是一些常见的正则表达式模式及其用途: 1. `"^\d+$"`:匹配一个或多个数字,不包含其他字符。常用于验证纯数字输入。 2. `"^[0-9]*[1-9][0-9]*$"`:匹配至少有一个非零数字的字符串,避免仅包含零的情况。 3. `"^((-\d+)|(0+))$"`:匹配一个可选的负号后跟一个或多个数字,或者只包含零的字符串。常用于处理负数和零。 4. `"^-?[0-9]*[1-9][0-9]*$"`: 匹配一个可选的负号,然后是任意数量的数字,至少包含一个非零数字。这是更通用的整数正则表达式。 5. `"^\d+(\.\d+)?$"`:匹配一个整数或小数,允许有可选的小数点和小数部分。适用于基本的数字验证。 6. `"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"`:更严谨的浮点数正则表达式,确保小数部分不全是零。 7. `"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"`:类似6,但同时支持正负数和零。 8. `"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"`: 更加复杂的小数正则表达式,确保至少有一位非零数字。 9. `"^-?\d+$(\.\d+)?$"`:另一种表示浮点数的正则,允许负数,整数或小数。 接下来是一些针对特定字符类型的正则表达式: 10. `"^[A-Za-z]+$"`:匹配由大小写字母组成的字符串,无数字或其他字符。 11. `"^[A-Z]+$"`:匹配仅由大写字母组成的字符串。 12. `"^[a-z]+$"`:匹配仅由小写字母组成的字符串。 13. `"^[A-Za-z0-9]+$"`:匹配由字母和数字组成的字符串,常用于用户名或密码验证。 14. `"^\w+$"`:与13相似,但包括下划线 `_`,通常用于匹配单词字符。 15. `"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"`:验证电子邮件地址的正则表达式。 16. `"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"`:用于URL的正则,允许协议、域名、路径和查询参数。 17. 日期格式正则表达式:`"^(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})$"`,用于验证日期格式,如MM/dd/yyyy或dd-MM-yyyy。 18. `"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$"`:另一种电子邮件地址的验证正则。 19. `"^(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地址的正则。 20. `"^(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])$"`: 类似于19,但允许点号之间的空格,用于更宽松的IP地址验证。 这些正则表达式在不同的场景下都有其独特的应用,例如输入验证、数据清洗和过滤。掌握它们能极大地提高处理字符串数据的效率和准确性。