Javascript 带有特定前置字符的HTML标记引号的正则表达式,并在HTML引号上断开

Javascript 带有特定前置字符的HTML标记引号的正则表达式,并在HTML引号上断开,javascript,html,regex,Javascript,Html,Regex,我正在使用一个正则表达式来匹配所有引号(类似于双引号和单引号),它前面必须有特定的字符,并且在到达相同的引号类型或遇到HTML注释时结束( 我明白了。当然,应该排除比赛开始时的引号字符 /[^\w!#£¤€´¨\-.:'"]('|")(.|\n)*?(\1|<!--|$)/ /[^\w!-.:“](“|”)(.|\n)*?(\1 |我知道了。当然,应该排除匹配开头的引号字符 /[^\w!#£¤€´¨\-.:'"]('|")(.|\n)*?(\1|<!--|$)/ /[^\w!-.

我正在使用一个正则表达式来匹配所有引号(类似于双引号和单引号),它前面必须有特定的字符,并且在到达相同的引号类型或遇到HTML注释时结束(
  • 我明白了。当然,应该排除比赛开始时的引号字符

    /[^\w!#£¤€´¨\-.:'"]('|")(.|\n)*?(\1|<!--|$)/
    

    /[^\w!-.:“](“|”)(.|\n)*?(\1 |我知道了。当然,应该排除匹配开头的引号字符

    /[^\w!#£¤€´¨\-.:'"]('|")(.|\n)*?(\1|<!--|$)/
    

    /[^\w!-.:“](“|”)(.|\n)*?(\1 |使用负回溯:
    (?如您所知:-将您的html解析为html,然后通过从标记中提取属性值并仅匹配这些值来提取您要查找的数据。弹性更强。@hoaz-Javascript不支持lookbehinds。您的问题是什么?我已复制到RegExr中,并更改了一件事(我对html注释使用了前瞻,而不是捕获它),但我看不出问题是什么……尽管如果你用粗体表示匹配,那么你会有一些不一致的行为-为什么all=matched,而id=not?@glenatron:我不是在试图提取id、class、style、title或其他属性中的值。这很简单,特别是在使用jQuery时。使用否定loOkbhind:
    (?如您所知:-将您的html解析为html,然后通过从标记中提取属性值并仅匹配这些值来提取您要查找的数据。弹性更强。@hoaz-Javascript不支持lookbehinds。您的问题是什么?我已复制到RegExr中,并更改了一件事(我对html注释使用了前瞻,而不是捕获它),但我不知道问题出在哪里……尽管如果你用粗体表示匹配,那么你会有一些不一致的行为——为什么all=matched,而id=not?@glenatron:我不是在试图提取id、class、style、title或其他属性中的值。这非常简单,尤其是在使用jQuery时。