区分数据提交到相应字段
姓名:张三
年龄:20
住址:北京市东区
个人主页:http://www.csdn.net
将个人信息提交到数据库,目前的功能是按这种标准格式提交4条数据,录入到相应字段里去
但是有些人提交的格式可能有出入,
比如冒号他用的是全角 或个人主页写的个人网址,年龄写的年纪
还有就是4条记录的顺序不一致
导致现有的程序无法识别。
有没有好的办法能准确识别区分后提交到数据库呢?
求大神现身帮助,给出思路和代码,谢谢
[解决办法]
定义2个数组,一个数组用于存储数据库字段名称,另外一个对应的数组项上存储正则表达式的内容,将可能的前缀或者分隔符号加上,用正则来提取内容
s="年龄:20"&chr(10)&_"住址:北京市东区"&chr(10)&_"姓名:张三"&chr(10)&_"个人主页:http://www.csdn.net"arrfield=array("name","age","addr","site")arrrx=array("^(姓名|名字)[::]([^\r\n]+)","^(年龄|年纪|岁数)[::]([^\r\n]+)","^(地址|住址)[::]([^\r\n]+)","^(个人主页|网址)[::]([^\r\n]+)")set rx=new regexprx.Multiline=truerx.Global=truefor i=0 to ubound(arrfield) rx.Pattern=arrrx(i) set mc=rx.Execute(s) if mc.count>0 then set m=mc(0) msgbox arrfield(i)&":"&m.submatches(1) else msgbox "找不到和“"&arrfield(i)&"”匹配的内容" end ifnextset rx=nothing