繁体   English   中英

使用正则表达式进行Java字符串验证

[英]Java string validation using regex

我需要使用正则表达式验证输入字符串。

要求是:

输入

  1. 不能以% _开头

  2. 不得包含&#><

  3. 可能是空的

我已经成功使用[^%_#&<>][^#&<>]*|^$

有没有更好的方法来解决这个问题?

您的正则表达式是错误的,还应该在第一个变体上放置^$约束:

^[^%_#&<>][^#&<>]*|$

这是因为第一种情况可以应用于子字符串

您定义的正则表达式仅声明:空字符串,或具有至少一个不是%_# ,...的字符的字符串

它认为拟议的正则表达式足够好。 一些(可能不是Java)正则表达式库提供了附加功能,以声明字符串不应包含某个字符。 但是由于正则表达式并不是那么复杂,所以它不会有太大帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM