Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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 RegExp-获取所有html标记的总字符数_Javascript_Regex_Html Parsing_Html Parser - Fatal编程技术网

javascript RegExp-获取所有html标记的总字符数

javascript RegExp-获取所有html标记的总字符数,javascript,regex,html-parsing,html-parser,Javascript,Regex,Html Parsing,Html Parser,我正在尝试获取所有匹配HTML字符的计数(长度),包括开始()和结束(),包括任何属性 考虑以下HTML: <div> <a href="#">link</a> <span>some text</span> </div> 一些文本 HTML字符长度计数将40 (当它计数时) 但是在javascript中使用它时会出现错误 请参见存在语法错误 您必须避开前斜杠/,因为它也是您的分隔符 /(<(?:

我正在尝试获取所有匹配HTML字符的计数(长度),包括开始(
)和结束(
),包括任何
属性

考虑以下HTML:

<div>
    <a href="#">link</a>
    <span>some text</span>
</div>

一些文本
HTML字符长度计数将40 (当它计数时

但是在javascript中使用它时会出现错误

请参见

存在语法错误

您必须避开前斜杠
/
,因为它也是您的分隔符

/(<(?:[A-Za-z_:][\w:.-]*(?=\s)(?!(?:[^>"\']|"[^"]*"|\'[^\']*\')*?(?<=\s)\s*=)(?!\s*\/?>)\s+(?:".*?"|\'.*?\'|[^>]*?)+|\/?[A-Za-z_:][\w:.-]*\s*\/?)>)/
/(“\']\\”[^”]*“\\'[^\']*”)*?(?)\s+(?:“*?”?“\\'.*?”.*?)+\/?[A-Za-z:][\w:.-]*\s*/?)/

出现语法错误

您必须避开前斜杠
/
,因为它也是您的分隔符

/(<(?:[A-Za-z_:][\w:.-]*(?=\s)(?!(?:[^>"\']|"[^"]*"|\'[^\']*\')*?(?<=\s)\s*=)(?!\s*\/?>)\s+(?:".*?"|\'.*?\'|[^>]*?)+|\/?[A-Za-z_:][\w:.-]*\s*\/?)>)/
/(“\']\\”[^”]*“\\'[^\']*”)*?(?)\s+(?:“*?”?“\\'.*?”.*?)+\/?[A-Za-z:][\w:.-]*\s*/?)/

错误的原因是您的正则表达式包含了一个正向的lookback
(?错误的原因是您的正则表达式包含了一个正向的lookback
(?谢谢!你能用叉子吗?我用Javascript Regexp不支持的查找规则更新了@Cyborgx37,但它仍然不好?你确定吗?@inhan-啊,没有注意到。未替换的前斜杠吸引了我所有的注意力。谢谢!你能用叉子吗?我更新了,但它仍然不好!@Cyborgx37使用Javascript Regexp不支持的lookbehind规则?你确定吗?@inhan-Ah,没有注意到这一点。未替换的前斜杠引起了我所有的注意。我可以问一下,为什么?我只是想知道这是用于什么功能的…通常这类问题有一个更好的非Regexp解决方案。你是对的,我正在工作在truncate插件上,我试图减去HTML标记字符以获得正确的字符最大长度。我想问,为什么?我只是想知道这是用于什么功能的…通常这类问题有一个更好的非regexp解决方案。你是对的,我在做truncate插件,并试图将HTML标记字符减去g设置字符的正确最大长度