java - 由于转义序列错误,无法在 Java 中使用正则表达式,如何消除错误

标签 java regex string escaping

我有这个正则表达式:

^(([A-Z]:)|((\\|/){1,2}\w+)\$?)((\\|/)(\w[\w ]*.*))+\.([txt|exe]+)$

但每次我将它分配给任何字符串时,Eclipse 都会返回无效的转义序列,我插入了一个反斜杠,但它给我同样的错误。

如何在java中将上述表达式赋值给字符串?

最佳答案

用“\\\\”替换所有的“\\”。 Java 没有对正则表达式的语言支持。所以你需要“\\”从编译器得到一个反斜杠到字符串中。如果正则表达式应包含转义的反斜杠,则需要“\\\\”。

final String re = "^(([A-Z]:)|((\\\\|/){1,2}\\w+)\\$?)((\\\\|/)(\\w[\\w ]*.*))+\\.([txt|exe]+)$"

关于java - 由于转义序列错误,无法在 Java 中使用正则表达式,如何消除错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27365008/

相关文章:

Java:在字符串数组中查找字符串的一部分并创建一个新数组

PHP Regex 帮助(从 preg_match_all 转换为 preg_replace)

regex - 获取精确数字的正则表达式

python - Python 中的正则表达式替换为负向前瞻

python - 如何使单个 Tkinter 列表框元素出现换行符?

java - 获取存储的实际数字

java - 克隆后 IntelliJ 无法识别 java 项目

java - 当我将 arrayList 输入到另一个 arrayList 中时,如何修改它以删除和更改它的值?

C++:创建字符串

java.lang.NoClassDefFoundError : android. support.v4.preferencefragment.R$layout