Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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
Regex在文件列表中查找类_Regex_Visual Studio - Fatal编程技术网

Regex在文件列表中查找类

Regex在文件列表中查找类,regex,visual-studio,Regex,Visual Studio,我有一个包含HTML类的文件列表 1 <div class="homepage">...</div> 2 <div class="abc homepage">...</div> 3 <div class="abc homepage2">...</div> 4 <div class="abc homepage four five">...</div> 5 <

我有一个包含HTML类的文件列表

 1    <div class="homepage">...</div>
 2    <div class="abc homepage">...</div>
 3    <div class="abc homepage2">...</div>
 4    <div class="abc homepage four five">...</div>
 5    <div class="abc homepagenot five">...</div>
 6    <div class="abc homepage-not five">...</div>
作为搜索条件,但这也返回我点5,6

基本上我只想要第1点,第2点,第4点


我在正则表达式中遗漏了什么

Try class=.*主页[]。这将在主页后面查找空格或引号。

您可以使用\b检查是否存在单词边界,该边界查找非单词字符,长度可以为零。我还为连字符添加了一个负数前瞻,因为连字符是一个在\b上匹配的非单词字符,但您不希望列表中出现第6项

\bhomepage\b(?!-)

这是。

我假设您希望在class=。。。。 请看正则表达式


假设您只希望前4个div作为匹配项,则此表达式适用于您

homepage(?!not|-)(.*?)
var divs= + + + + + +; var matches=divs.match/主页?!非|-.+?/g;
console.logmatches,matches.length;它不起作用,因为它在homepage2、homepagenot和homepagenot上也匹配,这些都是不需要的匹配项。请在文章中包含正则表达式,以避免链接腐烂。
class=\"(.+ )*homepage( .+)*\"
homepage(?!not|-)(.*?)