我的字符串如下所示,想要获得cn=ADMIN
的值,但不知道如何使用正则表达式高效的方法。
组:192.168.133.205:387 / CN = ADMIN,CN =基团,DC = MI,DC = COM,DC = USA
答案 0 :(得分:1)
package test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexSample {
public static void main(String[] args) {
String str = "group:192.168.133.205:387/cn=ADMIN,cn=groups,dc=mi,dc=com,dc=usa";
Pattern pattern = Pattern.compile("^.*/(.*)$");
Matcher matcher = pattern.matcher(str);
if (matcher.matches()) {
String right = matcher.group(1);
String[] parts = right.split(",");
for (String part : parts) {
System.err.println("part: " + part);
}
}
}
}
输出是:
part: cn=ADMIN
part: cn=groups
part: dc=mi
part: dc=com
part: dc=usa
答案 1 :(得分:0)
String bubba = "group:192.168.133.205:387/cn=ADMIN,cn=groups,dc=mi,dc=com,dc=usa";
String target = "cn=ADMIN";
for(String current: bubba.split("[/,]")){
if(current.equals(target)){
System.out.println("Got it");
}
}
答案 2 :(得分:0)
正则表达式的模式
cn=([a-zA-Z0-9]+?),
您的名字将在匹配器的第1组中。如果允许空格等,可以扩展字符类。