@ -20,7 +20,8 @@ public class PlaceHolderExpressionUtil {
// 3. ${ccc}[1].${ddd}
// 4. ${eee}[1].${fff}[2]
// 5. ${ggg}[1].${hhh}[2].${iii}
private static final String PH_EXPRESSION_REG_PATTERN_STR = "(\\$ \\{ (\\S+?) \\})(\\[ (\\S+?) \\])?((\\[ (\\S+?) \\])?(\\.? (\\$ \\{ (\\S+?) \\})(\\[ (\\S+?) \\])?)+?)*" ;
private static final String PH_EXPRESSION_REG_PATTERN_STR = "(\\$ \\{ (.+?) \\})(\\[ (.+?) \\])?((\\[ (.+?) \\])?(\\.? (\\$ \\{ (.+?) \\})(\\[ (.+?) \\])?)+?)*" ;
//private static final String PH_EXPRESSION_REG_PATTERN_STR = "(\\$ \\{ (\\S+?) \\})(\\[ (\\S+?) \\])?((\\[ (\\S+?) \\])?(\\.? (\\$ \\{ (\\S+?) \\})(\\[ (\\S+?) \\])?)+?)*";
// --- --- ----- --- --- ----- --- --- ----- --- --- --- --- ----- --- --- ----- ---
// ($ { xxx } )([ nnn ] )?(([ nnn ] )?(.? ($ { xxx } )([ nnn ] )?)+?)*
// (${xxx} )([nnn] )?(([nnn] )?(.? (${xxx} )([nnn ] )?)+?)*
@ -28,13 +29,16 @@ public class PlaceHolderExpressionUtil {
// -------- ------- ? ------- - ------ -------
// (变量)([下标])?(([下标])?(.?(变量)([下标])?)+?)*
private static final Pattern PH_EXPRESSION_REG_PATTERN = Pattern . compile ( StringUtils . trimAllWhitespace ( PH_EXPRESSION_REG_PATTERN_STR ) ) ;
private static final String PH_EXPRESSION_PART_REG_PATTERN_STR = "(\\$ \\{ (\\S+?) \\})(\\[ (\\S+?) \\])?" ;
private static final String PH_EXPRESSION_PART_REG_PATTERN_STR = "(\\$ \\{ (.+?) \\})(\\[ (.+?) \\])?" ;
//private static final String PH_EXPRESSION_PART_REG_PATTERN_STR = "(\\$ \\{ (\\S+?) \\})(\\[ (\\S+?) \\])?";
// --- --- ----- --- --- ----- --- --- ----- --- --- --- --- ----- --- --- ----- ---
// ($ { xxx } )([ nnn ] )?
// (${xxx})([nnn])?
private static final Pattern PH_EXPRESSION_PART_REG_PATTERN = Pattern . compile ( StringUtils . trimAllWhitespace ( PH_EXPRESSION_PART_REG_PATTERN_STR ) ) ;
private static final Pattern PH_VARIABLE_REG_PATTERN = Pattern . compile ( "\\$\\{(\\S+?)\\}" ) ;
private static final Pattern PH_VARIABLE_ARRAY_INDEX_REG_PATTERN = Pattern . compile ( "\\[(\\S+?)\\]" ) ;
private static final Pattern PH_VARIABLE_REG_PATTERN = Pattern . compile ( "\\$\\{(.+?)\\}" ) ;
private static final Pattern PH_VARIABLE_ARRAY_INDEX_REG_PATTERN = Pattern . compile ( "\\[(.+?)\\]" ) ;
//private static final Pattern PH_VARIABLE_REG_PATTERN =Pattern.compile("\\$\\{(\\S+?)\\}");
//private static final Pattern PH_VARIABLE_ARRAY_INDEX_REG_PATTERN =Pattern.compile("\\[(\\S+?)\\]");
/ * *
* 将占位符表达式替换为非占位符表达式 , 示例 :