对于像DirContextOperations ctx = ldapTemplate.lookupContext(groupDn);
ctx.addAttributeValue("member",buildPersonDn(user.getUid()));
ldapTemplate.update(ctx);
这样的字符串,我想使用表达式DirContextOperations ctx = ldapTemplate.lookupContext(groupDn);
ctx.addAttributeValue("member",buildPersonDn(user.getUid()).toString());
ldapTemplate.modifyAttributes(ctx);
获得结果Cisco 3750 i7706-cm021 10.123.12.34 -> 10.123.34.12
。但是,整个字符串都是匹配的。正确的表达是什么?
答案 0 :(得分:0)
您可以使用正则表达式,例如
^.*?(?=\b(?:\d{1,3}\.){3}\d{1,3}$)
详细信息
^
-字符串的开头.*?
-除换行符以外的任何0+个字符,并且尽可能少(?=\b(?:\d{1,3}\.){3}\d{1,3}$)
-积极的前瞻性要求(紧邻当前位置的右侧):
\b
-单词边界(?:\d{1,3}\.){3}
-三个重复的1到3位数字和一个点\d{1,3}
-1-3位数字$
-字符串的结尾。要获取更精确的IP正则表达式,请参见How to Find or Validate an IP Address:
^.*?(?=\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$)