java - 定义字符串时在java中无效的转义序列(有效的是\b\t\n\f\r\"\'\\)

标签 java android regex string

我尝试在字符串中定义 \b\t\n\f\r\"\'\\ 但得到 无效的转义序列(有效的是\b\t\n\f\r\"\'\\)

我正在从网络上获取加密数据,就像这样。

String testString="4sXuWJ4juj\/RS46l7xFLK|awhVBqNga\/BbyNt7t3Q\/DJ7OhHNix8G2PDyAFSGw+1E=";

这里我想根据| 拆分字符串。所以我想尝试放入字符串。知道如何根据 | 拆分吗?在 Java 中。

任何想法,如果我从 web.using 某些 spitting 参数获取这种类型的字符串数据 testString,如何可能拆分。像 |、\和其他。

最佳答案

当您在 Java 中将正则表达式定义为字符串文字时,将进行两种不同的转义:

  • 首先,Java 编译器解释字符串中的转义序列。它支持字符串文字中的八个转义序列
  • 其次,Regex 引擎在编译器解释 Java 转义序列后解释字符串。 Regex 支持自己的转义序列,让您转义它的元字符。特别是,它支持 \|

但是,为了让 Regex 引擎“看到”\|,您需要为 Java 编译器转义斜杠,即编写 \\|

为了避免在这种情况下出现混淆,我更喜欢从元字符创建一个字符类,例如[|][*][+] 等。通过这种方式,您不必对许多常见的元字符进行双重转义。当然,这个技巧并不通用——例如,它不适用于]

关于java - 定义字符串时在java中无效的转义序列(有效的是\b\t\n\f\r\"\'\\),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28234289/

相关文章:

java - 如何测试 JavaFX (MVC) Controller 逻辑?

java - 在 SWT 小部件表中动态填充大量数据

java - 对其他贡献者隐藏部分代码

php - WP HTML 缩小类不起作用

java - 非常小的程序来提高编程技能?

java - 安卓人脸检测

android - 选项卡更改时如何避免重新加载数据?

java - 使用正则表达式拆分数学方程

javascript - 逗号后跟空格或只是逗号的正则表达式

java - 导出java ca证书,以便可以从go中使用