我需要从JavaScript中的HTML字符串中选择本地样式表。如何将以下内容转换为正则表达式?
(file.indexOf('<link rel="stylesheet"') === 0) && (file.indexOf('href="http') === -1)
答案 0 :(得分:1)
Don't parse HTML with regex! HTML不是常规语言,使用解析器可以获得更好的结果。例如,如果rel
属性位于href
属性之后,该怎么办?这是有效的HTML语法,但不是您当前正在尝试处理的方案。这可能会导致问题。
但如果你坚持,你可以这样做:
/<link (?=[^>]*rel=\s*['"]stylesheet['"])(?![^>]*href=\s*['"]http)[^>]*>/i
编辑1:处理属性的顺序
编辑2:处理单引号或双引号,不区分大小写和间距