我需要解析字符串正则表达式中多个href标签的url和title ...
我需要将每个网址和标题变为变量
例如
<DT><A HREF="http://www.partyboatnj.com/" ADD_DATE="1210713679" LAST_VISIT="1225055180" LAST_MODIFIED="1210713679">NJ Party Boat - Sea Devil of Point Pleasant Beach, NJ</A>
<DT><A HREF="http://www.test.com/" ADD_DATE="1210713679" LAST_VISIT="1225055180" LAST_MODIFIED="1210713679">test parse</A>
<DT><A HREF="http://www.google.com/" ADD_DATE="1210713679" LAST_VISIT="1225055180" LAST_MODIFIED="1210713679">google</A>
答案 0 :(得分:1)
好的,如果我理解正确,我会做这样的事情:
<cffunction name="reMatchGroups" access="public" returntype="array" output="false">
<cfargument name="text" type="string" required="true" />
<cfargument name="pattern" type="string" required="true" />
<cfargument name="scope" type="string" required="false" default="all" />
<cfscript>
l = {};
l.results = [];
l.pattern = createObject("java", "java.util.regex.Pattern").compile(javacast("string", arguments.pattern));
l.matcher = l.pattern.matcher(javacast("string", arguments.text));
while(l.matcher.find()) {
l.groups = {};
for(l.i = 1; l.i <= l.matcher.groupCount(); l.i++) {
l.groups[l.i] = l.matcher.group(javacast("int", l.i));
}
arrayAppend(l.results, l.groups);
if(arguments.scope == "one")
break;
}
return l.results;
</cfscript>
</cffunction>
上述函数返回每个正则表达式模式匹配的组。
您可以像这样使用它:
<cfset a = reMatchGroups("<a href=""http://iamalink.com"" class=""testlink"">This is a link</a>", "href=[""']([^""|']*)[""'][^>]*>([^<]*)", "all") />
这将为您提供一组结构,其中包含正则表达式中每个反向引用的键值对。在这种情况下,href和节点文本。