有人可以告诉我一个匹配所有内容的正则表达式:image.php?type = regcheck& imagehash=3d600fe2ad3c87c9b22ade7e58ef1c48
此字符串包含在页面源中.. 谢谢。 :)
编辑:这是它所在的位置:
<img id="imagereg" src="image.php?type=regcheck&imagehash=3d600fe2ad3c87c9b22ade7e58ef1c48" alt="Registration Image" border="0" height="61" width="201">
答案 0 :(得分:3)
如果散列是唯一不同的东西,则将其替换为.*
,并使用.
转义所有现有?
和\
,因为它是正则表达式特殊char ...所以,像:
image\.php\?type=regcheck&imagehash=.*
另请注意.*
可能是'贪婪'并且输入太多 - 我不知道你用正则表达式解析什么(文本的某些部分会有所帮助),但也许只有一个明星之后的空间可以解决问题...
编辑:根据您的评论,正则表达式归结为:
"image\.php\?type=regcheck&imagehash=.*"
"
属于 in 正则表达式,如:
string regexExpression = "\"image\.php\?type=regcheck&imagehash=.*\""
答案 1 :(得分:2)
我认为你需要一个解析器,但由于你没有指定任何语言,这里有一个匹配它的正则表达式。
我不确定您是否尝试匹配imagehash
下的src
或整个字符串。
所以我假设你正在尝试匹配src
下的字符串:
<img id="imagereg" src="(.*?)" alt="Registration Image" border="0" height="61" width="201">
上述正则表达式会将src
值与alt
,border
等属性相匹配。但是,如果您想匹配所有 src
标记中的所有 img
值:
<img.*?src="(.*?)".*?>
在Python中,您可以执行m = re.search( .. )
并按m.group(1)
返回该组。
在Perl $source =~ / .. /
中返回匹配组:$1
对于&符号,最好更换它,例如Perl:
$string =~ s/&/&/g;
的Python:
string.replace('&', '&')