public static String replaceWithUsrProps(String src,Properties props){
        Pattern pattern = Pattern.compile("\\$\\{([^\\?}]+)(\\?([^}\\?]+))?\\}");
        Matcher matcher=pattern.matcher(src);
        while(matcher.find()){
            String key = matcher.group(1);
            String methodName = matcher.group(3);

            if(props.containsKey(key)){
                if(StringUtils.isNotBlank(methodName)){
                    MethodHandler handler = new MethodHandler(context);
                    src = src.replaceAll("\\$\\{"+key+"\\?"+methodName+"\\}",handler.executeMethod(methodName,props.getProperty(key,"undefined")));
                }else{
                    src = src.replaceAll("\\$\\{"+key+"\\}",props.getProperty(key,"undefined"));
                }

            }
        }
        return src;
    }