我有这个正则表达式:
^(([A-Z]:)|((\|/){1,2}w+)$?)((\|/)(w[w ]*.*))+.([txt|exe]+)$
但是每次我将其分配给任何字符串时,Eclipse 都会返回无效的转义序列,我插入了一个反斜杠,但它给了我相同的错误。
如何在java中将上述表达式分配给字符串?
将所有"\\"替换为"\\\\"。Java 没有对正则表达式的语言支持。因此,您需要"\\"才能将反斜杠从编译器转换为字符串。如果正则表达式应包含转义的反斜杠,则需要"\\\\"。
final String re = "^(([A-Z]:)|((\\|/){1,2}\w+)\$?)((\\|/)(\w[\w ]*.*))+\.([txt|exe]+)$"
尝试以下操作:
String regex = "^(([A-Z]:)|((\\|/){1,2}\w+)\$?)((\\|/)(\w[\w ]*.*))+\.([txt|exe]+)$";
反斜杠字符本身也需要转义,因此您最终会得到四个字符。