exec() vs match() vs test() vs search() (v7)

Revision 7 of this benchmark created on


Description

Tests to determine which function is faster for detecting whether a string matches a regex pattern.

Preparation HTML

<script>
var regex = /(?:regex)/;
var str = 'This is a regex string.';
</script><script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script><script src="//ajax.googleapis.com/ajax/libs/prototype/1.6.1.0/prototype.js"></script><script src="//ajax.googleapis.com/ajax/libs/dojo/1.5/dojo/dojo.xd.js"></script><script src="//ajax.googleapis.com/ajax/libs/yui/2.8.1/build/yuiloader/yuiloader-min.js"></script><script src="//ajax.googleapis.com/ajax/libs/ext-core/3.1.0/ext-core.js"></script>

Test runner

Ready to run.

Testing in
TestOps/sec
exec()
if (regex.exec(str) !== null) {
 // String matches regex
}
ready
match()
if (str.match(regex) !== null) {
 // String matches regex
}
ready
test()
if (regex.test(str) !== false) {
 // String matches regex
}
ready
search()
if (str.search(regex) !== -1) {
 // String matches regex
}
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.