社区
Java SE
帖子详情
求命!求一个正则表达式,检测非法字符,要求见内
myzte
2007-05-29 08:04:04
求一个正则表达式,要求如下:
检测非法字符
1.有效字符:0-9a-zA-Z@!~*()-_.'
2.字符长度不能大于512个
我写成这样,[@!~*()-_.'0-9a-zA-Z]{1,527} 但好像有问题。
请高人指点
...全文
850
4
打赏
收藏
求命!求一个正则表达式,检测非法字符,要求见内
求一个正则表达式,要求如下: 检测非法字符 1.有效字符:0-9a-zA-Z@!~*()-_.' 2.字符长度不能大于512个 我写成这样,[@!~*()-_.'0-9a-zA-Z]{1,527} 但好像有问题。 请高人指点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
believefym
2007-05-29
打赏
举报
回复
Pattern p = Pattern.compile("[0-9a-zA-Z@!~\\*\\(\\)\\-_\\.\\']{1,527}");
Matcher m = p.matcher("0-9a-zA-Z@!~*()-_.'");
System.out.println(m.matches());
believefym
2007-05-29
打赏
举报
回复
有些符号要转义的
AndyJee
2007-05-29
打赏
举报
回复
我建议的做法是:
1、利用String类的length属性判断长度,长度不对的直接pass掉
2、逐个检查每一个字符是否合乎要求。还好是512个,多了的话还真够慢,嘿嘿。
AndyJee
2007-05-29
打赏
举报
回复
首先,正则表达式长度错了。
是不是用Java?如果是的话,慎重检查是否是全部转义字符!尤其注意"[","]","{","}","-"。
我的经验是:先就写[0-9A-Za-z]{1,512},测试过了再一个一个地加字符"-","@"什么的,要不指不定哪就出毛病,还不好查。
LZ严重注意!!!!实际上,判断长度的工作不要交给正则表达式处理,因为正则表达式是贪婪算法。也就是说即使你这个写对了也会有问题。
比如:"abcdefg*"本来不能通过正则表达式验证,但它刚检测到"a"就认为符合了那个表达式,然后再检查就开始把"b"判定为“过了”;你看,根本不会说匹配到"abcdefg*"这么多,除非之前一直不匹配,它才会带着之前的字符累计着往下匹配。
正则表达式
中的特殊字符一览
正则表达式
中的特殊字符一览 〓简介〓 字符意义:对于字符,通常表示按字面意义,指出接着的字符为特殊字符,不作解释。 例如:/b/匹配字符'b',通过在b 前面加
一个
反斜杠,也就是/b/...
Checkstyle的检查项配置详解
在《代码规范工具-Checkstyle使用手册》一文中,我提及到两个Checkstyle提供的配置文件sun_checks.xml和sun_checks_eclipse.xml,那么现在下看下这两个文件的构成吧。sun_checks.xml和sun_checks_eclipse.xml所在的...
SQL注入漏洞
检测
模块
检测
原理基于XSS漏洞的本质特征:攻击者输入的恶意脚本被服务器未经适当处理直接包含在响应中,当用户访问该页面时浏览器会执行这些脚本。该实现覆盖了SSRF
检测
的核心场景,通过多维度验证机制显著降低了漏报率,...
linux常用命令-part3
中文怎么发音 Ubuntu 有奔头,乌版图 Fedora 费德勒,菲朵拉 ... (1)
正则表达式
一般用来描述文本模式的特殊用法,由普通字符(例如字符a-z)以及特殊字符(称为元字符,如/、*、?等)组成。 ...
千云物流- mysql数据库SQL检查规范
如果有
一个
CHAR(200)列,如果在前10个字符内,多数值是惟一的,那么就不要对整个列进行索引。对前10个字符进行索引能够节省大量索引空间,也可能会使查询更快; 表必须有主键,不使用UUID、MD5、HASH作为主键,尽量...
Java SE
62,627
社区成员
307,258
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章