Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.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正则表达式匹配的部分_Javascript_Html_Regex - Fatal编程技术网

排除JavaScript正则表达式匹配的部分

排除JavaScript正则表达式匹配的部分,javascript,html,regex,Javascript,Html,Regex,我需要一个正则表达式来匹配谷歌搜索 是指向regexr.com的链接 我需要它只匹配标签。我不擅长正则表达式,但我知道用JavaScript,看起来落后是不可能的。我需要它以某种方式向后看,并检查title=.+是否在后面 下面是我整理的几个正则表达式: 这个表达式有点有效,但它选择了title=in 这些表达式删除了title=如我所愿,但也在末尾添加了一个\s /((title=".+")(?=\s*href))|(title=".+")/igm; 总之,鉴于上面的HTML,我希望它只匹配

我需要一个正则表达式来匹配谷歌搜索

是指向regexr.com的链接

我需要它只匹配标签。我不擅长正则表达式,但我知道用JavaScript,看起来落后是不可能的。我需要它以某种方式向后看,并检查title=.+是否在后面

下面是我整理的几个正则表达式:

这个表达式有点有效,但它选择了title=in

这些表达式删除了title=如我所愿,但也在末尾添加了一个\s

/((title=".+")(?=\s*href))|(title=".+")/igm;
总之,鉴于上面的HTML,我希望它只匹配Google search和Microsoft home,我不希望它包含title=或匹配title=。。。在这个正则表达式中:

/(?!title=)".+"\s+/igm; AND /(?!title)".+"\s+\b/igm;

仅捕获标签中的Google search或Microsoft home。匹配包括标签。别担心!我们在第二个捕获组中捕获了谷歌搜索。您可以在javascript中使用\2或$2访问它。

。但是为什么不简单地使用DOM呢?那么您想要选择整个链接?请你也发布你的html好吗?我更喜欢测试。我忘了提一下,谷歌搜索和微软主页可以是任何东西。这些都是可以修正的随机变量。但是你测试过这个吗?除了你刚才提到的以外,它还能工作吗?
/(?!<a\s+title\=)("[^"]+")(?=\s*href)/igm;
/<a[^>]+title=(["'])(Google search|Microsoft home)\1/ig