Rules Hub
Code Ruleset
← Back to all rules
Rule priority, scope & exceptions
Use this to align rules with the senior-level structure (P0/P1/P2, scope, exceptions/tradeoffs).
fullstack ruleP2stack specificStack: javascript
javascriptregexredundancycleanliness
Don't wrap a regex literal in new RegExp()
Use a regex literal directly instead of new RegExp around that literal when no flag override or distinct-instance requirement exists.
PR: frontpage-web · org-mining-hist-2026-06Created: Jun 18, 2026
Bad example
Old codejavascript
| 1 | expect(result).toMatch(new RegExp(/^<link rel="stylesheet"/)); |
Explanation (EN)
The literal already creates the regex needed by this one-shot matcher.
Objašnjenje (HR)
Good example
New codejavascript
| 1 | expect(result).toMatch(/^<link rel="stylesheet"/); |
Explanation (EN)
Objašnjenje (HR)
Notes (EN)
For the native RegExp constructor around a regex literal with no flags argument, verify that a distinct instance or changed flags are not part of the contract.
Exceptions / Tradeoffs (EN)
Do not replace constructors around dynamic strings, custom RegExp bindings, flag overrides or an existing regex whose state must be copied.