Java 键,除非您想保存一些常规的key=value对正则表达式,如?[^ |]+\\s*=\\s*?[^ |]+,然后通过比较建立的键和传递的键来测试每个匹配项。 String s = "a=xxx|b = yyy|c= zzz" static String
键,除非您想保存一些常规的key=value对正则表达式,如?[^ |]+\\s*=\\s*?[^ |]+,然后通过比较建立的键和传递的键来测试每个匹配项。Java 键,除非您想保存一些常规的key=value对正则表达式,如?[^ |]+\\s*=\\s*?[^ |]+,然后通过比较建立的键和传递的键来测试每个匹配项。 String s = "a=xxx|b = yyy|c= zzz" static String ,java,regex,Java,Regex,键,除非您想保存一些常规的key=value对正则表达式,如?[^ |]+\\s*=\\s*?[^ |]+,然后通过比较建立的键和传递的键来测试每个匹配项。 String s = "a=xxx|b = yyy|c= zzz" static String getValueFromKey(String s, String key) { return s.replaceAll(key + "\\s*=\\s*(.*?)(\\|)?.*", "$1"); } static void test()
String s = "a=xxx|b = yyy|c= zzz"
static String getValueFromKey(String s, String key) {
return s.replaceAll(key + "\\s*=\\s*(.*?)(\\|)?.*", "$1");
}
static void test() {
String s = "a=xxx|b = yyy|c= zzz";
assertEquals(getValueFromKey(s, "a"), "xxx");
assertEquals(getValueFromKey(s, "b"), "yyy");
assertEquals(getValueFromKey(s, "c"), "zzz");
}
X\s*=\s*(\w*)
\bapple\b\s*=\s*(\w*)
\W*(\w+)\W*=\W*([^|]*)
static void test() {
String s = "a=xxx|b = yyy|c= zzz";
Pattern pattern = Pattern.compile("\\W*(\\w+)\\W*=\\W*([^|]*)");
Matcher matcher = pattern.matcher(s);
while (matcher.find()) {
System.out.println(matcher.group(1) + " :: " + matcher.group(2));
}
}
}
a :: xxx
b :: yyy
c :: zzz
static String getValueFromKey(String s, String key) {
string[] pairs = s.split("|");
for (String p : pairs) {
string[] halves = p.split("=");
if (halves[0].equals(key)) {
return halves[1];
}
}
return "";
}
s.replaceAll(".*?\\b" + key + "\\s*=\\s*(.*?)($|\\|.*)", "$1");
static String getValueFromKey(String s, String key) {
Matcher m = Pattern.compile(
"(?<=^|\\|)\\s*" + Pattern.quote(key) + "\\b\\s*=\\s*(?<value>[^|]*)")
.matcher(s);
if (m.find())
return m.group("value");
else
return null;// or maybe return empty String "" but that may be misleading
// for values which are really empty Strings
}