Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式html文件href/src url模式_Javascript_Regex_Electron - Fatal编程技术网

Javascript 正则表达式html文件href/src url模式

Javascript 正则表达式html文件href/src url模式,javascript,regex,electron,Javascript,Regex,Electron,建立一个电子应用程序,为您提供任何网站的所有颜色 为此,应用程序会像下载url一样将其保存为html。 现在,该应用程序读取html文件并搜索链接到可能包含颜色值rgb/rgba//hsl的文件的任何url,因此这些文件将是css、js、svg等。这些url被添加到数组中,稍后由electron download manager包使用 例如:[href=/main.css?v=33.1,src=http://somesite.com/js/regex.js] href=/src=被其他函数删除

建立一个电子应用程序,为您提供任何网站的所有颜色

为此,应用程序会像下载url一样将其保存为html。 现在,该应用程序读取html文件并搜索链接到可能包含颜色值rgb/rgba//hsl的文件的任何url,因此这些文件将是css、js、svg等。这些url被添加到数组中,稍后由electron download manager包使用

例如:[href=/main.css?v=33.1,src=http://somesite.com/js/regex.js]

href=/src=被其他函数删除

我的url模式是:

/(href|src)=("|')(.*?)(\.|\/)(css|js|svg|json)(.*?)("|')/g
这很好,但它不会在结束引号符号上结束匹配/

第一个示例的匹配是整行,它包含结束引号之后的所有内容,因此title=是url的一部分,这没有任何意义

href="https://www.youtube.com/opensearch?locale=de_DE" title="YouTube"><link rel="manifest" href="/manifest.json" // matches everything until json is found

src="bla.css" // works
src='bla.css?ver=123.456' // works
是否有一条正则表达式规则规定按此字符停止

我的规则应该是:

以href=,url开头,以.css/.js结尾,可选文件版本?v=123,引号符号


一个正则表达式,用于查找具有src或href属性且其值包含以下内容之一的任何标记 扩展或子目录css、js、svg、json如下:

/']|[^]*.'[^']*'*?\shref | src\s*=\s*?:[']\s*?:\2[\S\S]*?[.\/]:css | js | svg | json?:\2[\S\S]*?\S*\2\S+?:[\S\S]*?|'[\S\S]*?'|[^>]*?+>/

其中:

属性位于组1中 值在第3组中 扩大

 < [\w:]+               # Any tag

 (?=                    # Assert (a pseudo atomic group)
      (?: [^>"'] | " [^"]* " | ' [^']* ' )*?
      \s 
      ( href | src )         # (1), href or src attribute
      \s* = \s* 
      (?:
           ( ['"] )               # (2), Quote
           \s* 

           (                      # (3 start), value
                (?:
                     (?! \2 )
                     [\S\s] 
                )*?

                [./]                   # One of these extensions or sub-dirs
                (?: css | js | svg | json )

                (?:
                     (?! \2 )
                     [\S\s] 
                )*?
           )                      # (3 end)
           \s*               
           \2 
      )
 )
 \s+ 
 (?: " [\S\s]*? " | ' [\S\s]*? ' | [^>]*? )+
 >

相反,然后使用类似parsedDoc.querySelectorAll'link.forEach的东西。。。获取hrefs。要在何处使用not运算符?在正则表达式中,^是一个not运算符,您可以这样使用它