C#正则表达式无法识别双引号解决

假如某个网页的源代码中有如下一段:

            ……

<span class="img">图片1</span>
aaaaaaaaaaaaaaaaaaaaaaaaaa
<span class="img">图片2</span>

            ……

   想提取出<span class="img">IC交易网图片1</span>和<span class="img">图片2</span>两部分内容,需要用到正则表达式,按着一般情况,匹配字条串如下:@"<span\s+class="img">([\S\s]*?)</span>",即字符中的双引号前加转义符"",但是,你会发现匹配并不成功,但是把""改成双引号就可以了,即匹配字符串为:@"<span\s+class=""img"">([\S\s]*?)</span>",也不知道为什么,呵呵,能用就行了。想提取其它标签对的内容,也可用类似方法处理。

 

 

 

只写函数部分
using System.Text.RegularExpressions;

bool hasQuote(String str)
{
    String pattern = "^.*['\"].*$";
    if (Regex.IsMatch(this.textBox1.Text, pattern))
 
 
正则这样写: ([a-zA-Z] ?)([\u4E00-\u9FA5])替换成: $1/$2ultraedit 不是标准的perl正则, 具体怎么用不清楚...
 
[a-zA-Z0-9][\u4e00-\u9fa5] 还有常用的正则,希望对你有用处 匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 评注:表单验证时很实用 匹配网址URL的正则表达式:[a-zA-z]+://[^\s]* 评注:网上流传的版本功能很有限,上面这个基本可以满足需求 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 评注:表单验证时很实用 匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7} 评注:匹配形式如 0511-4405222 或 021-87888822 匹配腾讯QQ号:[1-9][0-9]{4,}
    {
        return true;
    }
    else{
        return false;
    }
}

其实这么简单的功能不需要用正则表达式的,字符串遍历或者分割都可以进行判断的。

 

posted @ 2011-07-09 20:30  ph580  阅读(4210)  评论(0编辑  收藏  举报