JavaScript - 以任何顺序匹配的正则表达式
JavaScript - regex that matches in any order
我有以下返回关键字值的正则表达式:
var keywords = result.match(/<meta name="keywords" content="(.*?)".*/i)[1];
我还需要能够支持"关键字"和"内容"属性顺序相反的情况,例如:
<meta content="...." name="keywords"
谁能建议我如何支持这两个订单?
他来的小马
通过触手可及的 DOM 访问,您没有理由不将 HTML 转储到临时文档中(或者,如果它是当前文档,请从那里开始处理它)。然后,根据浏览器版本,您可以querySelector("meta[name=keywords]")
或迭代getElementsByTagName('meta')
直到找到正确的浏览器,然后再使用getAttribute("content")
来获取结果。
使用积极的前瞻首先检查name="keywords"
是否存在,然后解析content
。
var keywords = result.match(/<meta(?=[^>]*'bname="keywords")[^>]*'bcontent="(.*?)".*/i)[1];
相关文章:
- java.net和javascript之间正则表达式的差异
- Grunt匹配正则表达式
- 不同浏览器中的空白字符正则表达式行为
- 正则表达式在字符串中找到base64
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 调用正则表达式匹配的函数
- 正则表达式 - 不要介意顺序
- 正则表达式,任何术语可选且顺序(javascript 或 java)
- 如何以没有特定顺序编写正则表达式
- 按顺序匹配正则表达式模式
- Javascript正则表达式:匹配任意顺序的2个子字符串
- 用正则表达式替换行中的N个字符串,其中N个字符串可以在行中的任意顺序
- 正则表达式用于按字母顺序排列的文本,但有一些例外
- 由多个单词(任意顺序)组成的不重复的正则表达式
- 用于验证键盘顺序的正则表达式
- jQuery正则表达式反向顺序
- 正则表达式以任意顺序匹配可选标记
- JavaScript - 以任何顺序匹配的正则表达式
- 正则表达式,以任意顺序匹配至少两个特殊字符
- 正则表达式.20按字母顺序排列,最多2个.- _)