Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 键,除非您想保存一些常规的key=value对正则表达式,如?[^ |]+\\s*=\\s*?[^ |]+,然后通过比较建立的键和传递的键来测试每个匹配项。 String s = "a=xxx|b = yyy|c= zzz" static String _Java_Regex - Fatal编程技术网

Java 键,除非您想保存一些常规的key=value对正则表达式,如?[^ |]+\\s*=\\s*?[^ |]+,然后通过比较建立的键和传递的键来测试每个匹配项。 String s = "a=xxx|b = yyy|c= zzz" static String

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()

键,除非您想保存一些常规的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";
  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
}