正则表达式与手动比较.哪个更快?

Ear*_*rlz 6 regex performance parsing

在编写脚本引擎时,我有像(伪代码)这样​​的函数

function is_whitespace?(char c){
  return c==' ' || c=='\t' || c=='\r' || c=='\n';
}
Run Code Online (Sandbox Code Playgroud)

好吧,我的问题是大多数langugaes哪个更快?那或者使用正则表达式

function is_whitespace?(char c){
  return regex_match('\s',c);
}
Run Code Online (Sandbox Code Playgroud)

我关注的主要语言是C#,C和Ruby,以防它完全依赖于平台.

wRA*_*RAR 12

当然,与构建,运行和销毁状态机相比,对小块内存的四次比较要快得多(并且几乎不使用内存).

  • 我的猜测永远不会,但与编写正则表达式相比,手工编写常规语言的匹配器可能会变得非常复杂. (4认同)