新增: - backend/venv/ - Python 虚拟环境 - backend/start.sh - 启动脚本(使用虚拟环境) - backend/requirements.txt - 依赖列表 - .gitignore - 忽略虚拟环境和缓存文件 说明: - 每个项目使用独立虚拟环境 - 避免依赖冲突 - 启动脚本自动创建和激活虚拟环境
34 lines
894 B
JavaScript
34 lines
894 B
JavaScript
"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);
|
|
|
|
// If there's no match, throw an error
|
|
if (!m) {
|
|
throw new Error("Invalid regular expression format.");
|
|
}
|
|
|
|
// Filter valid flags: 'g', 'i', 'm', 's', 'u', and 'y'
|
|
var validFlags = Array.from(new Set(m[3])).filter(function (flag) {
|
|
return "gimsuy".includes(flag);
|
|
}).join("");
|
|
|
|
// Create the regular expression
|
|
return new RegExp(m[2], validFlags);
|
|
}; |