我有一个字符串,让我们说它是“min(Current_em)”,我想用“Current_em”替换它(即括号内的字符串)。
看一下正则表达式教程,我想我想要像
这样的东西angular.module("myModule")
.run(appRun);
appRun.$inject = ["$rootScope", "$state", "SessionService"];
function appRun($rootScope, $state, SessionService) {
var isLogged = ($rootScope.$session.id_login ? true : false);
if (isLogged) {
angular.element('body').removeClass('hidden');
} else {
return SessionService.getSession() // Creo la sessione utente
.then(function(response){
isLogged = ($rootScope.$session.id_login ? true : false);
var isPrivatePage = to.data.privatePage;
var isPublicPage = to.data.publicPage;
if((isPrivatePage && !isLogged)||(isPublicPage && isLogged)){
e.preventDefault();
$state.go('home');
}
});
}
}
但这没有任何作用。我可以对正则表达式的黑暗艺术有一些指示吗?
答案 0 :(得分:2)
您可以匹配(...)
并使用'\(([^)]*)\)'
或'\(([^()]*)\)'
捕获其内容(如果在内部,则不会出现(
和)
。
然后,您需要替换为捕获组#1的反向引用:
regexprep('min(Current_em)', '.*\(([^()]*)\)', '$1')
模式细节:
.*
- 任意0个字符,贪婪,尽可能多(也许,您可以用[^(]*
替换它以获得更好的性能)\(
- 文字(
(必须转义,因为它是正则表达式中的组打开运算符)([^()]*)
- 捕获除了(*
以外的零个或多个([^...]
)字符的组#1是否定的字符类){{1 }}和(
)
- 文字\)
(必须转义,因为它是正则表达式中的群组关闭运算符)