我有一个我想要匹配的模式,但编译器说它不正确。我该如何纠正java中的scape序列?
这是模式:
String patter = "\/\/s.ytimg.com\/yts\/jsbin\/html5player-en_US-vfllxLx6Z\/html5player.js"
答案 0 :(得分:1)
编译器抱怨因为没有\/
这样的转义字符。常见的转义字符是这些:
\n
换行\t
标签要在字符串中嵌入文字\
,您需要使用\\
,例如:
String pattern = "\\/\\/s.ytimg.com\\/yts\\/jsbin\\/html5player-en_US-vfllxLx6Z\\/html5player.js";
但实际上,我真的不明白为什么你需要\
。我认为你真正需要的东西很可能根本不是\
:
String pattern = "//s.ytimg.com/yts/jsbin/html5player-en_US-vfllxLx6Z/html5player.js";
答案 1 :(得分:0)
如果您想要转义\
,则需要将其设为\\
。你可以试试这个:
String patter = "\\/\\/s.ytimg.com\\/yts\\/jsbin\\/html5player-en_US-vfllxLx6Z\\/html5player.js";
答案 2 :(得分:0)
在使用\
的任何情况下,都需要重复,因为\
用于转义特殊序列,例如\n
来创建换行符。 \\
相当于实际网址中的单个\
。
对于您的实际网址,请使用以下网址:
String patter = "\\/\\/s.ytimg.com\\/yts\\/jsbin\\/html5player-en_US-vfllxLx6Z\\/html5player.js"
但是,如果您试图逃避/
字符,那是不必要的。你可以使用它:
String patter = "//s.ytimg.com/yts/jsbin/html5player-en_US-vfllxLx6Z/html5player.js"