我正在尝试编写一个模式,用于提取HTML中img标记中找到的文件的路径.
String string = "";
我的模式:
src\\s*=\\s*\"(.+)\"
问题是我的模式还将包含img标签的'border ="0"部分.
什么模式匹配此文件的URI路径而不包括'border ="0"?
你的模式应该是(未转义):
src\s*=\s*"(.+?)"
重要的部分是添加的问号,尽可能少地匹配组
试试这个表达式:
src\s*=\s*"([^"]+)"
只有当它在标记内部而不是在其他地方以纯文本形式写入时,才能获取src.它还会检查您是否在src属性之前或之后添加了其他属性.
此外,它确定您是使用单引号(')还是双引号(").
\
所以对于PHP你会这样做:
preg_match("/\/", $string, $matches); echo "$matches[1]";
对于JavaScript,你会做:
var match = text.match(/\/) alert(match[1]);
希望这会有所帮助.