asp正则表达式获取以固定字符串为开头、结尾的字符串的中间部分字符串?
- 提问者网友:箛茗
- 2021-02-22 14:18
- 五星知识达人网友:十年萤火照君眠
- 2021-02-22 14:25
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
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中获取