正则表达式性能:验证字母数字字符

Fra*_*anz 5 regex performance

在尝试验证字符串仅由字母字符组成时,我想到了两种可能的正则表达式解决方案.

第一个检查字符串中的每个字符是否为字母数字:

/^[a-z]+$/
Run Code Online (Sandbox Code Playgroud)

第二个尝试在字符串中的某个地方找到一个不是字母数字的字符:

/[^a-z]/
Run Code Online (Sandbox Code Playgroud)

(是的,我可以在这里使用字符类.)

长字符串有任何显着的性能差异吗?(如果有的话,我猜第二个变种更快.)

Jos*_*ber 4

仅仅看一下,我会说第二种方法更快。

然而,我做了一个快速的非科学测试,结果似乎并没有结论:

正则表达式匹配与否定


PS我从第一种方法中删除了组捕获。这是多余的,只会减慢速度。