JavaScript-以任意顺序匹配的正则表达式

JavaScript-以任意顺序匹配的正则表达式,javascript,regex,match,Javascript,Regex,Match,我有以下返回关键字值的正则表达式: var keywords = result.match(/<meta name="keywords" content="(.*?)".*/i)[1]; var关键字=result.match(/ 有了对DOM的访问权,您就没有理由不将HTML转储到临时文档中(或者,如果它是当前文档,则从那里开始处理)。然后,根据浏览器版本,您可以使用querySelector(“meta[name=keywords]”或通过getElementsByTagName(

我有以下返回关键字值的正则表达式:

 var keywords = result.match(/<meta name="keywords" content="(.*?)".*/i)[1];
var关键字=result.match(/


有了对DOM的访问权,您就没有理由不将HTML转储到临时文档中(或者,如果它是当前文档,则从那里开始处理)。然后,根据浏览器版本,您可以使用
querySelector(“meta[name=keywords]”
或通过
getElementsByTagName('meta')进行迭代
在使用
getAttribute(“content”)
获得结果之前,请先找到正确的代码。

首先使用正向前瞻检查
name=“keywords”
是否存在,然后解析
内容

var keywords = result.match(/<meta(?=[^>]*\bname="keywords")[^>]*\bcontent="(.*?)".*/i)[1];
var keywords=result.match(/]*\bname=“keywords”)[^>]*\bcontent=“(.*?”)*/i[1];

如果该正则表达式有效,我不会试图使事情过于复杂,只要使用另一个名称和内容颠倒的正则表达式,然后检查哪一个返回值。你不能只针对给定的
meta[name=keyword]
元素吗?@NiettheDarkAbsol可以
包含
字符吗?我对htmls知之甚少。是的,属性可以包含
,这是小马出现的众多原因之一;)
var keywords = result.match(/<meta(?=[^>]*\bname="keywords")[^>]*\bcontent="(.*?)".*/i)[1];