收藏 分销(赏)

正则表达式工作中的问题和经验.doc

上传人:xrp****65 文档编号:7688686 上传时间:2025-01-12 格式:DOC 页数:1 大小:25KB 下载积分:10 金币
下载 相关 举报
正则表达式工作中的问题和经验.doc_第1页
第1页 / 共1页
本文档共1页,全文阅读请下载到手机保存,查看更方便
资源描述
正则表达式工作中的问题和经验   1.使用正则表达式判断交互输入;   问题:     在输入的值里,可以简单的判断其范围,但有些时候还需要判断类型,避免因为输入错误造成脚本不能 执行,或错误执行等问题;   示例:     判断一个以>0数字开头的数字组合:         if [[ $1 =~ '^([1-9][0-9])*$' ]] && [ $1 -le $max ]     then         .........     else         .........     fi   看上去这个判断没有什么问题(事实上它的确可以实现),但在应用的时候发现"在正常判断数字的时候没有问题,但在判断特殊字符的时候却出现问题".     这会带来一个比较严重的安全问题,如果我将这个代码写的很冗长,很难避免里面那个调用不会被利用. 问题就处在"^([1-9][0-9])*$"上,在正则表达式里"*"代表的是"匹配0次或多次".说明即使不输入数字,只要不是字母,其它的输入也可能被调用.     如果简单的将"*"改为"+"则会造成不能输入个位数字的请款.   解决:     解决的办法也很简单,将"^([1-9][0-9])*$"改为"^([1-9]){1}([0-9])*$"即可.这样就完全匹配了输入的类型. 注:     zmt1982 兄说的对,其实只需要"^[1-9][0-9]*$"(以1-9数字开头,0-9数字出现0次或多次为结尾)就可以了 ^^ 俺是想的太多了.....欢迎大家指正   经验:     别拿shell不当干粮.
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服