我正在尝试通过使用方法将 java 扫描器与以下一组分隔符& = ~ ^(与号、等于、波浪号、插入符号)一起使用useDelimiter("&|=|~|^");。
除了^被忽略之外,所有分隔符都可以正常工作:为什么会这样?
我在扫描仪文档中看不到原因。
我正在尝试通过使用方法将 java 扫描器与以下一组分隔符& = ~ ^(与号、等于、波浪号、插入符号)一起使用useDelimiter("&|=|~|^");。
除了^被忽略之外,所有分隔符都可以正常工作:为什么会这样?
我在扫描仪文档中看不到原因。
你需要逃跑^,像这样:useDelimiter("&|=|~|\\^")。那是因为^is 是正则表达式中的元字符,并且String参数useDelimiter()最终被编译为 regex Pattern。
等效地,您可以像这样编写分隔符,在这种情况下,无需转义^:useDelimiter("[&=~^]")
^是正则表达式中的保留符号,因此您需要对其进行转义:\\^.