贪婪/非贪婪的正则表达式让我有点失落
我想要一个与mongodb命令可能的最小设置匹配的正则表达式。
mongodb命令具有以下格式:db.collection.command(params)
我可以用“;”分隔多个命令和/或以“;”结尾或不结尾的空格。
例如:
db.collection.command(params);db.collection.command(params2) // the regexp must returns db.collection.command(params);
db.collection.command(params);db.collection.command(params2); // the regexp must returns db.collection.command(params); too
我尝试了很多东西,但我找不到匹配所有情况的方法。
const commandRegexp = "(db\\.?\\w*?\\.\\w*\\([^]*\\))?;";
const regexp = new RegExp(`${commandRegexp}`);
但它没有处理这种情况:
db.collection.command(params);db.collection.command(params2); // the regexp must returns db.collection.command(params); too
正则表达式返回db.collection.command(params);db.collection.command(params2);
,整个文本。
db.collection.command(params) // the regexp must returns db.collection.command(params)
db.collection.command(params);foobar // the regexp must returns db.collection.command(params)
db.collection.command(params); // the regexp must returns db.collection.command(params);
db.collection.command(params);db.collection.command(params2) // the regexp must returns db.collection.command(params)
db.collection.command(params);db.collection.command(params2); // the regexp must returns db.collection.command(params)