文本:
<span id="p_code_">WHATIWANT</span>
代码:
objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern = "\<(span\s+id=""(p_code_.*)[^\>]+)</span>"
尝试提取字符串WHATIWANT
答案 0 :(得分:2)
不要用正则表达式解析(x)html!这就是DOM的用途。
http://www.uv.tietgen.dk/staff/mlha/pc/web/script/vbscript/object/index.htm
答案 1 :(得分:2)
我认为您正在寻找的是以下内容:
objRegExp.Pattern = "\<span id=\"p_code_\"\>(.*?)\<\/span\>"
使用某些东西测试你的正则表达式/字符串有时很有帮助。我主要是为此目的使用TextMate's查找功能,但这里有一个很棒的网络资源:http://rubular.com/
编辑:根据以下评论,您似乎需要更多类似的内容:
objRegExp.Pattern = "\<span id=\"p_code_d\d{3,}a\d{3,}\"\>(.*?)\<\/span\>"
捕获span的id的“d567a356”部分。这假设id将始终以以下形式结束:d(后跟三个或更多数字)a(后跟三个或更多数字)。
编辑2:
实际上,这更为通用:
objRegExp.Pattern = "\<span id=\"p_code_.+?\b\"\>(.*?)\<\/span\>"
这将符合以下两项:
<span id="p_code_d567a356" class="blaf">WHATIWANT</span>
和
<span id="p_code_d567a3dsfasfdsaf56">WHATIWANT</span>