请教正则高手

tanger104753507 2004-10-07 02:19:56
要自动分析ubb网址,用一正则表达式:((http|ftp)://)?(((([\d]+\.)+){3}[\d]+(/[\w./]+)?)|([a-z]\w*((\.\w+)+){2,})([/][\w.~]*)*)
子表达式超过了9个,不能用javascript里的正则,只能用vbscript里的正则,怎么样找出被匹配的子串。请帮忙看看以下match用法是否正确:
dim txt
txt="http:\\www163.comdfdfd<a href=http:\\www.63.com><a>“
set re=new RegExp
re.IgnoreCase=false
re.Global=false
re.Pattern="(http:\\)"
dim test1
test1=txt.match(re)-------这里出现了缺少对象: 'http:\\www163.comdfd'的错误

因为ubb文本框里另有url按钮点击后出现prompt输入框用户输入网址后文本框里会出现<a href=用户输入网址>网址文本</A>,所以在自动识别网址时要避开替换这些在<a>标记里的网址,所以打算于一循环里用match去找出每个目标串,再判别其是否用<a>标记中。请高手指教,谢谢。
...全文
180 14 打赏 收藏 举报
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
KUMOZAKI 2004-10-08
  • 打赏
  • 举报
回复
up
tanger104753507 2004-10-08
  • 打赏
  • 举报
回复
多谢各位,原来我只是犯了个低级错误。 南极之星跟木野狐让我学到了东西。
purexu 2004-10-07
  • 打赏
  • 举报
回复
javascript
tanger104753507 2004-10-07
  • 打赏
  • 举报
回复
up
tanger104753507 2004-10-07
  • 打赏
  • 举报
回复
谢谢/请问vb里应该怎么做呢?你说的js是jsp还是javascript?
purexu 2004-10-07
  • 打赏
  • 举报
回复
JS中可以用正则的

var txt = "<a href=\"{url}\">{text}</a>";
var re = /([^>='"])((?:http|https|ftp|rtsp|mms):\/\/[\w\-\.,\?!%\*\#:;~\\&$@\/=\+\(\)]+)([^<'"])/gi;
str = str.replace(re, function ($0, $1, $2, $3)
{
return $1 + txt.replace(/(?:{url}|{text})/gi, $2) + $3;
}
);
tanger104753507 2004-10-07
  • 打赏
  • 举报
回复
(([^(href='|'>)])((http|ftp)://)?(((([\d]+\.)+){3}[\d]+(/[\w./]+)?)|([a-z]\w*((\.\w+)+){2,})([/][\w.~]*)*)
tanger104753507 2004-10-07
  • 打赏
  • 举报
回复
我用这个正则:([^(href=((http|ftp)://){1}(((([\d]+\.)+){3}[\d]+(/[\w./]+)?)|([a-z]\w*((\.\w+)+){2,})([/][\w.~]*)*)
tanger104753507 2004-10-07
  • 打赏
  • 举报
回复
谢谢,原来javascript里的exec在vbscript 是这样的,但是我要找全部不包含在<a href='(1)url'>(2)url</a>中的(1)(2)位置里的网址,可否再解答一下?谢谢
nchen123 2004-10-07
  • 打赏
  • 举报
回复
<script language="VBScript">
dim txt

txt="http:\\www163.comdfdfd<a href=http:\\www.63.com><a>"
set re=new RegExp
re.IgnoreCase=false
re.Global=false
re.Pattern="(http:\\\\)"
dim test1
set matches = re.Execute(txt)

for i = 0 to matches.count
msgbox matches(i).value
next
</script>
KUMOZAKI 2004-10-07
  • 打赏
  • 举报
回复
建议向[孟子E章]求解.我帮您UP
tanger104753507 2004-10-07
  • 打赏
  • 举报
回复
up
tanger104753507 2004-10-07
  • 打赏
  • 举报
回复

tanger104753507 2004-10-07
  • 打赏
  • 举报
回复
刚要问两个问题:1第二段代码中match用法,2,最后一段的问题
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2004-10-07 02:19
社区公告
暂无公告