花生鱼's Blog

■╪ 加快奋斗的脚步
 
 

Powered by: 博客园
模板提供:沪江博客
博客园 | 首页 | 发新随笔 | 发新文章 | 联系 | 订阅订阅 | 管理

2007年12月20日

js 正则
match
对字符串执行查找,并将包含查找的结果作为数组返回。
str.match(
/\(\d{10,12}\)/g)[0].replace(/\(|\)/g, "")

replace
行文字替换后的字符串的复制

//去掉所有空格
str = '  啊,b,c   d   e  f   g    h 不  ';
var re = new RegExp('\\s+','g');
str 
= str.replace(re, '');
//str = str.replace(/\s/g,'');
alert(str);

exec
字符串中运行查找,并返回包含该查找结果的一个数组。

search
查找内容匹配的第一个子字符串的位置

test
返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式

match 和 exec 的区别:
match()以正则表达式为参数,exec()以字符串为参数

re 
= /ain/i;
r 
= str.match(re);

var re = /\w+/g;
var arr;
while ((arr = re.exec(src)) != null)
document.write(arr.index 
+ "-" + arr.lastIndex + "\t" + arr);}
posted @ 2007-12-20 22:08 婲生魚 阅读(47) 评论(0) 编辑
 
[有点点]复杂href获取
//得到下面字符串里“商品列表”的a的href

string pattern = @"<a href='([^']+)[^<]+'>商品列表";
Regex r 
= new Regex(pattern, RegexOptions.IgnoreCase);
MatchCollection mc 
= r.Matches(data);
foreach (Match m in mc)
{
    
string ss = m.Groups[1].Value;
}

//这个是一般的a链接获取
//pattern = @"<a href='([^']+)";

测试数据:
<a href='http://goods.aaa.com/EsalesGoodsSortDict/EsalesGoodsSortDictList.aspx?KeyStr=a4142c6da5bf47019181f54c299606b0'onclick='javascript:SetSpan1("商品设置 >> 商品栏目列表");' target='contentiframe' id='a3'>商品栏目列表</a></li>
<li><a href='http://goods.aaa.com/EsalesGoodsClassDict/EsalesGoodsClassDictList.aspx?KeyStr=a4142c6da5bf47019181f54c299606b0'onclick='javascript:SetSpan1("商品设置 >> 商品类别列表");' target='contentiframe' id='a3'>商品类别列表</a></li>
<li>
<a href='http://goods.aaa.com/EsalesGoodsInfo/EsalesGoodsInfoList.aspx?KeyStr=a4142c6da5bf47019181f54c299606b0'onclick='javascript:SetSpan1("商品设置 >> 商品列表");' target='contentiframe' id='a3'>商品列表</a>


</li>

posted @ 2007-12-20 22:00 婲生魚 阅读(629) 评论(0) 编辑
 
得到所有radio的value和text里的数字
string pattern = @"(?<=<)input[^>]+name=[""]?payfee[""]?[^>]+value=[""]?(?<value>\w+)[""]?\s?[^>]+>(?<int>\d+)(?=元)";
        Regex r 
= new Regex(pattern, RegexOptions.IgnoreCase);
        MatchCollection mc 
= r.Matches(data);
        
foreach (Match m in mc)
        
{
            
string s = m.Value;
            
string s1 = m.Groups[0].Value;
            
string s2 = m.Groups[1].Value;
            
string s3 = m.Groups[2].Value;
            
string s4 = m.Groups["value"].Value;
            
string s5 = m.Groups["int"].Value;
        }
测试数据
<table width="100%"border="0" cellspacing="2" cellpadding="1">
    <tr align="left">
        <td>
            <input name="payfee" type="radio" value="200">2元(200休闲币) </td>
        <td>
            <input type="radio" name="payfee" value="500">5元(500休闲币)</td>
    </tr>
    <tr align="left">
        <td>
            <input name="payfee" type="radio" value="800">8元(800休闲币) </td>
        <td><input name="payfee" type="radio" value="1000" checked>10元(1000休闲币)</td>
    </tr>
    <tr align="left">
        <td>
            <input type="radio" name="payfee" value="2000">20元(2000休闲币) </td>
        <td><input type="radio" name="payfee" value="3000">30元(3000休闲币)</td>
    </tr>
    <tr align="left">
        <td>
            <input type="radio" name="payfee" value="4000">40元(4000休闲币) </td>
        <td>
            <input type="radio" name="payfee" value="5000">50元(5000休闲币)</td>
    </tr>
    <tr align="left">
        <td>
            <input type="radio" name="payfee" value="6000">60元(6000休闲币) </td>
        <td>
            <input type="radio" name="payfee" value="7000">70元(7000休闲币)</td>
    </tr
posted @ 2007-12-20 21:54 婲生魚 阅读(322) 评论(0) 编辑