Regex 优化正则表达式

Regex 优化正则表达式,regex,pcre,Regex,Pcre,我有一个将html转换为txt的正则表达式。 但是它需要大量的CPU使用。 我如何优化它 ((\n|\r){2,}) | (\r|\n)|<head.*?</head>|<script.*?</script> |<meta[^>]+>|<style.*?</style> | <[^>]*> |&[^\s]*; ((\n |\r){2,})|(\r |\n)|如果可以,请使用HTML解析器。由于各种

我有一个将html转换为txt的正则表达式。 但是它需要大量的CPU使用。 我如何优化它

((\n|\r){2,}) | (\r|\n)|<head.*?</head>|<script.*?</script> |<meta[^>]+>|<style.*?</style> | <[^>]*> |&[^\s]*;

((\n |\r){2,})|(\r |\n)|如果可以,请使用HTML解析器。由于各种原因,正则表达式不适合HTML,性能也不可避免地会受到影响。

如果可以,请使用HTML解析器。由于各种原因,正则表达式不适合HTML,性能也不可避免地受到影响。

使用解析器而不是正则表达式。:)我认为使用语法分析器时CPU的使用率会更高?你真的认为使用HTML语法分析器时CPU的使用率会更高,@Vivek?你注意到你的网络浏览器在解析你下载的网页时CPU使用率很高吗?@Rob Kennedy。我正在编写C++应用程序。我不在乎多姆。所以我认为使用解析器将是cpu更高的事情。因为我只需要去除所有html标记并提取文本。使用解析器而不是正则表达式。:)我认为使用语法分析器时CPU的使用率会更高?你真的认为使用HTML语法分析器时CPU的使用率会更高,@Vivek?你注意到你的网络浏览器在解析你下载的网页时CPU使用率很高吗?@Rob Kennedy。我正在编写C++应用程序。我不在乎多姆。所以我认为使用解析器将是cpu更高的事情。因为我只需要去除所有html标记并提取文本。错误恢复在解析器中是一项挑战。正则表达式在HTML中运行良好的唯一情况是,它不是一般的开放式HTML,而是定义良好的HTML片段。即使如此,也要使用,而不是紧凑型。最好的正则表达式方法本身非常类似于实际的lexer,例如。如果可能的话,我会坚持使用现有的解析模块。我找不到可以解析格式错误的html的解析器。我看到一个关于SL的讨论正在进行,但它告诉我们首先要处理html。而不是libxml。这对我来说将是更多的资源饥渴。因为我不关心有效的html。我只需要提取文本部分。错误恢复在解析器中很有挑战性。正则表达式在HTML中运行良好的唯一情况是,它不是一般的开放式HTML,而是定义良好的HTML片段。即使如此,也要使用,而不是紧凑型。最好的正则表达式方法本身非常类似于实际的lexer,例如。如果可能的话,我会坚持使用现有的解析模块。我找不到可以解析格式错误的html的解析器。我看到一个关于SL的讨论正在进行,但它告诉我们首先要处理html。而不是libxml。这对我来说将是更多的资源饥渴。因为我不关心有效的html。我只需要提取文本部分。