正则表达式截取字符串问题~~~~~急

问题描述

我有这样一个程序,遍历HTML文档中的内容,把所有链接信息都获取出来然后判断链接地址的有效性。如<ahref="/aa/aa.html"></a>我用正则取出了href部分然后在判断链接地址的有效性,但有一种情况不知道该如何实现就是当href部分是脚本打开某个页面,比如<ahref="window.open('/aa/aa.html','','')"></a>我该怎样取里边的链接地址呢?

解决方案

解决方案二:
该回复于2008-07-08 11:50:53被版主删除
解决方案三:
取URL组href="(window.open(')?(?<url>[^"']+)

解决方案四:
stringstr="你请求的网址";stringstr2=gethtml(str);//得到原代码stringstrmp=string.empty;matchcollectionmc=regex.matches(str2,"href=['"]?(.*?)['"]");foreach(matchminmc){str2=m.groups[1].value;if(!str2.startwith("http")){str2=str+str2;//这里可以指定一套算法,过滤掉./如果是../那么remove最后一段/开头然后请求str2,如果发现错误,link失效!}}
解决方案五:
href="(window.open(')?(?<url>[^"']+)建议下载我的C#获取网页纯文本。

时间: 2024-09-29 17:04:48

正则表达式截取字符串问题~~~~~急的相关文章

正则表达式截取字符串急急急急

问题描述 正则表达式截取字符串急急急急 @:2120100301@+@:2120100302@+@:2120100303@+@:2120100304@截取@:与@之间的数字串,再截取运算符号+ 解决方案 String regEx = ""(@:)(d{120})(@)""; String url = ""@:2120100301@+@:2120100302@+@:2120100303@+@:2120100304@""; Pat

javascript-js问题关于正则表达式截取字符串

问题描述 js问题关于正则表达式截取字符串 @:21101001@+@:21101002@+@:21101003@+@:21101004@.我想截取@:与@之间的数字串,把四个数字串都截出来,该怎么做? 解决方案 var s = '@:21101001@+@:21101002@+@:21101003@+@:21101004@' var m = s.match(/d+/g); console.log(m) 解决方案二: 正则表达式截取字符串通过正则表达式截取字符串正则表达式截取字符串中的数字 解决

求个正则表达式截取字符串

问题描述 求个正则表达式截取字符串 如: 3/三星/nz 7/翡翠/n 9/奶茶/n 1/R8/ws 7/饭/n 3/保险/n 6/手机/n 14/三/m 9/端/v 获取,"三星""翡翠""奶茶""R8""饭""保险" 解决方案 如何用正则表达式截取字符串用正则表达式截取字符串通过正则表达式截取字符串 解决方案二: js中貌似是/(?<=/)[a-zA-Z0-94e00-9fa5

关于javascript正则表达式截取字符串的问题

问题描述 关于javascript正则表达式截取字符串的问题 一字符串:"@bji|北京|BJP|0@sha|上海|SHH|1@tji|天津|TJP|2",我要的结果是:{@bji|北京|BJP|0,sha|上海|SHH|1,@tji|天津|TJP|2},javascript怎么用正则表达式分隔成这三部分.小弟对正则表达式实在太瞎 解决方案 var reg="@bji|北京|BJP|0@sha|上海|SHH|1@tji|天津|TJP|2" alert(reg.mat

正则表达式截取字符串的问题

问题描述 正则表达式截取字符串的问题 早C#中,比如@abc:@abc:@abc如何用正则截取@与:之间的值转为数组 解决方案 (?<=@)w+(?=:) 也可以直接用split string s = "@abc:@abc:@abc"; string[] result = s.Split(new char[] { '@', ':' }, StringSplitOptions.RemoveEmptyEntries); 解决方案二: 正则表达式截取字符串用正则表达式截取字符串如何用正

java 正则匹配空格字符串 正则表达式截取字符串

  java 正则匹配空格字符串 正则表达式截取字符串 需求:从一堆sql中取出某些特定字符串: 比如配置的sql语句为:"company_code = @cc and project_id = @pid ; update t set a = @aa,b=@bb,c=@cd,ttt=@ttt;update t2 set d=@bb"; 我要拿出所有的以@开头的作为变量,并且去重,则如下玩: ps:其中正则匹配空格是 "\s+"   public class Test

正则表达式截取字符串的方法技巧_正则表达式

有这么一段字符串: [数字]字符串 结果 取  a=数字      b=字符串 截取方法1: int a = Convert.ToInt32(txt1.Text.Trim().Replace('[', ']').Split(']')[1]); string b = txt1.Text.Trim().Replace('[', ']').Split(']')[2]; 截取方法2: string str = "[数字]字符串"; Regex reg = new Regex(@" (

正则表达式截取字符串的方法技巧

有这么一段字符串: [数字]字符串 结果 取  a=数字 b=字符串 截取方法1: int a = Convert.ToInt32(txt1.Text.Trim().Replace('[', ']').Split(']')[1]); string b = txt1.Text.Trim().Replace('[', ']').Split(']')[2]; 截取方法2: string str = "[数字]字符串"; Regex reg = new Regex(@" ([^]+)

正则表达式截取字符串

问题描述 怎么把test111IDnameIPAdress1AA2682BBB4103CCC8784DDD95TOTOEL:3其中的test111与TOTOEL:3之间的字符串截取出来就正则表达式!截取结果是IDnameIPAdress1AA2682BBB4103CCC8784DDD95 解决方案 解决方案二:strings=@"test111IDnameIPAdress1AA2682BBB4103CCC8784DDD95TOTOEL:3";Matchmatch=Regex.Match