我一直在努力寻找一个正则表达式模式,"."
如果在它之前找到一个转义字符,它就会逃逸。负向后看很有希望,但我认为它不适用于"."
以下语法
String test = "hostname.domain.com/abc/def/v1.8/ghi"
在上面的例子中,字符串需要用 分割"."
,但我需要转义 v1.8 以便 v1 和 8 在 URI 部分中不被视为不同的数组元素。
String test = "hostname.domain.com/abc/def/v1\\.8/ghi"
test.split("(?!\\\\).");
预期的输出 {"hostname","domain","com/abc/def/v1.8/ghi"} 。URI 上下文路径不应以“.”分隔。如果它带有任何“。” 它只是为了代表版本。
上面的否定后向语法适用于其他字符 like -
,但不适用于"."
. 我假设转义字符需要不同,但添加其他转义字符可能会导致字符串的进一步处理出现问题,因为输入是 URI 类型并且不希望 URI 中的任何保留/特殊字符用作 char 前置为了这。感谢任何人的任何想法/帮助。