$re = '/\/\*[\s\S]*?\*\//';
$str = 'var ExecutionScript = (function () {
function ExecutionScript() {
}
ExecutionScript.prototype.RemoveSchemes = function (e) {
var _this = this;
debugger;
return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
var selectedRole, currentSchemes, schemesToRemove, tempSchemes, filteredSchemes, _loop_1, newSchemes, _i, schemesToRemove_1, selectedScheme, _a, _b, scheme_1, newSchemes, _c, newSchemes_1, s;
return __generator(this, function (_d) {
switch (_d.label) {
case 0://test
selectedRole = e.data.Role_Variable.currentItem.Role.currentItem;
currentSchemes = selectedRole.Scheme.value;
schemesToRemove = e.plugins.Schemes_From_Data_Grid.SelectedItems;
tempSchemes = e.data.Temp_Role_Variable.currentItem.Scheme;
_loop_1 = function (selectedScheme) {
var _i, filteredSchemes_1, scheme, _a, newSchemes_2, s;
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
filteredSchemes = currentSchemes.filter(function (scheme) { return scheme.ID !== selectedScheme.ID; });
_i = 0, filteredSchemes_1 = filteredSchemes;
_b.label = 1;/*
* testing multline comment
*/case 1:
if (!(_i < filteredSchemes_1.length)) return [3 /*break*/, 4];
scheme = filteredSchemes_1[_i];/*
* testing multline comment
*/
return [4 /*yield*/, tempSchemes.create(1, false, e.data.Temp_Role_Variable.currentItem)];
case 2:
/*
* testing multline comment
*/
newSchemes = _b.sent();
for (_a = 0, newSchemes_2 = newSchemes; _a < newSchemes_2.length; _a++) {
s = newSchemes_2[_a];
s.Active = scheme.Active;
s.Description = scheme.Description;
s.DisplayName = scheme.DisplayName;
s.Name = scheme.Name;
s.Role = scheme.Role;
s.SchemeId = scheme.SchemeId;
}
debugger;
tempSchemes.addItems(newSchemes);
_b.label = 3;
case 3://
_i++;
return [3 /*break*/, 1];
case 4: return [2 /*return*/];
}
});
};//
_i = 0, schemesToRemove_1 = schemesToRemove;
_d.label = 1;
case 1:
if (!(_i < schemesToRemove_1.length)) return [3 /*break*/, 4];
selectedScheme = schemesToRemove_1[_i];
return [5 /*yield**/, _loop_1(selectedScheme)];
case 2:
_d.sent();
_d.label = 3;
case 3:
_i++;
return [3 /*break*/, 1];
case 4:
// }
selectedRole.Scheme.clear();
_a = 0, _b = tempSchemes.value;
_d.label = 5;
case 5:
if (!(_a < _b.length)) return [3 /*break*/, 8];
scheme_1 = _b[_a];
return [4 /*yield*/, selectedRole.Scheme.create(1, false, e.data.Role_Variable.currentItem)];
case 6:
newSchemes = _d.sent();
for (_c = 0, newSchemes_1 = newSchemes; _c < newSchemes_1.length; _c++) {
s = newSchemes_1[_c];
s.Active = scheme_1.Active;
s.Description = scheme_1.Description;
s.DisplayName = scheme_1.DisplayName;
s.Name = scheme_1.Name;
s.Role = scheme_1.Role;
s.SchemeId = scheme_1.SchemeId;
}
selectedRole.Scheme.addItems(newSchemes);
_d.label = 7;
case 7:
_a++;
return [3 /*break*/, 5];
case 8:
e.data.Role_Variable.currentItem;
selectedRole.ConfiguredStatus = \'Complete\';
resolve();
return [2 /*return*/];
}
});
}); });
};
ExecutionScript.prototype.S_On_Previous = function (e) {
e.data.currentUser.currentItem.Role.clear();
};
return ExecutionScript;
}());';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php