永发信息网

asp正则表达式获取以固定字符串为开头、结尾的字符串的中间部分字符串?

答案:2  悬赏:0  手机版
解决时间 2021-02-23 09:19
  • 提问者网友:箛茗
  • 2021-02-22 14:18
asp正则表达式获取以固定字符串为开头、结尾的字符串的中间部分字符串?
最佳答案
  • 五星知识达人网友:十年萤火照君眠
  • 2021-02-22 14:25
function getvalue(strng,lstr,rstr)
Dim regEx, Match, Matches '建立变量
Set regEx = New RegExp '建立正则表达式
regEx.Pattern ="(?<=("+lstr+"))[.\n\s\S]*?(?=("+rstr+"))" '设置模式
regEx.IgnoreCase = False '设置是否区分字符大小写
regEx.Global = True '设置全局可用性
Set Matches = regEx.Execute(strng) '执行搜索,返回搜索结果集合
For Each Match in Matches '遍历匹配集合
全部回答
  • 1楼网友:山有枢
  • 2021-02-22 15:48
最近在网站转换数据(asp风讯cms升级php织梦cms)的时候,先用db2mysql把数据库表转换成news.sql,然后把脚本代码复制到news.txt,从中逐行读取字符串,每行字符串均为:

newslinestr=“insert into news(id,newsid,title...) values('','',''...);” 现在要把values('','',''...)里面的字段值获取出来根据情况转换输入给新织梦cms的表字段里面,使用函数: function getvalue(strng,lstr,rstr) dim regex, match, matches  '建立变量 set regex = new regexp  '建立正则表达式 regex.pattern ="(?<=("+lstr+"))[.\n\s\s]*?(?=("+rstr+"))"  '设置模式 regex.ignorecase = false  '设置是否区分字符大小写 regex.global = true   '设置全局可用性 set matches = regex.execute(strng) '执行搜索,返回搜索结果集合 for each match in matches   '遍历匹配集合  getvalue=match.value next     end function

leftstr="insert into news(id,newsid,title...) values("

rightstr=");"

newsstr=getvalue(newslinestr,leftstr,rightstr) 提示正则表达式语法错误,找原因是asp 不支持逆序环视 (?<=exp),那怎么改写表达式?

问题补充  2011-08-26 18:18

简单点就是比如allstr="123(4,5,6)7(*)89;"

123(4,5,6)7(为左部字符串,)89;为右部字符串,均固定;

*为中间字符串,是带有html标签,引号括号等的复杂字符串,

怎么从allstr中获取

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯