This commit is contained in:
Tutur33
2023-11-24 22:35:41 +01:00
parent 3c0b507a93
commit 7644b2a0f7
45165 changed files with 4803356 additions and 3 deletions
+30
View File
@@ -0,0 +1,30 @@
"use strict";
/**
* RegexParser
* Parses a string input.
*
* @name RegexParser
* @function
* @param {String} input The string input that should be parsed as regular
* expression.
* @return {RegExp} The parsed regular expression.
*/
var RegexParser = module.exports = function (input) {
// Validate input
if (typeof input !== "string") {
throw new Error("Invalid input. Input must be a string");
}
// Parse input
var m = input.match(/(\/?)(.+)\1([a-z]*)/i);
// Invalid flags
if (m[3] && !/^(?!.*?(.).*?\1)[gmixXsuUAJ]+$/.test(m[3])) {
return RegExp(input);
}
// Create the regular expression
return new RegExp(m[2], m[3]);
};
+5
View File
@@ -0,0 +1,5 @@
declare module 'regex-parser' {
function Parse(regexString: string): RegExp;
export = Parse;
}