区分数据提交到相应字段
姓名:张三
年龄: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 regexp
rx.Multiline=true
rx.Global=true
for 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 if
next
set rx=nothing