在后面使用负数:
"(?<!\\):"
四个反斜杠的原因是:
- 反斜杠是正则表达式中的特殊字符,因此您需要正则表达式
\
来匹配单个反斜杠。 - 必须在Java字符串中对反斜杠进行转义,因此上述每个反斜杠必须都写为
\
,总共为四个。
示例代码:
Pattern pattern = Pattern.compile("(?<!\\):");Matcher matcher = pattern.matcher("foo\:x bar:y");if (matcher.find()) { System.out.println(matcher.start());}输出:
10



