将此作为参考:https://msdn.microsoft.com/en-us/library/ms974570.aspx#scripting05_topic2
我一直在试图弄清楚如何创建一个模式来拉动它:
LicenseDetail.asp SID =安培;?ID = F1A32D21A83C2BB2BBF227E5443A6023
出于这个:
height='40'><td colspan='1' width='20%' align='center'bgcolor='#e9edf2'><font face=verdana color=#000000 size=-1>Real Estate Broker or Sales</font></td><td colspan='1' align='center' bgcolor='#e9edf2'><font face=verdana color=#000000 size=-1><a href='LicenseDetail.asp?SID=&id=F5A76372AAA358B9CD869630255FA424'>ALMEIDA, JOHN SOBRAL</a></font></td
我尝试了很多不同的组合,但我甚至都没有......
例如,基于我正在阅读的内容,似乎()应该抓取字面值,\ alphanumeric应该抓取尾随数字和字母并在'之前停止'(因为它不是数字或字母)...失败: “(LicenseDetail.asp SID =&安培;?ID =)\字母数字”
提前致谢。
答案 0 :(得分:1)
(1)重新阅读语法细节(例如“\ alpanumeric”)
(2)搜索“LicenseDetail”+“everthing not a'”
在代码中:
Dim s : s = "height='40'><td colspan='1' width='20%' align='center'bgcolor='#e9edf2'><font face=verdana color=#000000 size=-1>Real Estate Broker or Sales</font></td><td colspan='1' align='center' bgcolor='#e9edf2'><font face=verdana color=#000000 size=-1><a href='LicenseDetail.asp?SID=&id=F5A76372AAA358B9CD869630255FA424'>ALMEIDA, JOHN SOBRAL</a></font></td"
Dim r : Set r = New RegExp
r.Pattern = "LicenseDetail[^']+"
Dim m : Set m = r.Execute(s)
If 1 = m.Count Then
WScript.Echo m(0).Value
Else
WScript.Echo "Bingo!"
End If
输出:
LicenseDetail.asp?SID=&id=F5A76372AAA358B9CD869630255FA424
更新评论:
我没有任何线索,当他们点击文件时引用双引号,但我知道为什么[^"]
'不起作用':在VBScript中,“字符串文字被”“转义。”代码:< / p>
>> s = "name=""escapedquote"""
>> Set r = New RegExp
>> r.Pattern = """"
>> WScript.Echo s, r.Replace(s, "'")
>>
name="escapedquote" name='escapedquote"
>>
(转到here查看正则表达式模式操作中的否定(双)引号。)