如何逃避java正则表达式操作者

时间:2014-03-26 10:18:46

标签: java regex escaping

我想问一下java正则表达式,希望我能在这里找到一些帮助。

我有一个类似"textX|textY|textZ"的字符串。 现在我想在java中的每个|字符上拆分它。

我用

尝试了
string.split("\|");

但我刚收到"Invalid escape sequence"错误。

当我使用|作为分隔符时,如何拆分上面的字符串?

5 个答案:

答案 0 :(得分:4)

您需要在Java中进行双重转义,因此请使用:

String[] tokens = string.split("\\|")

或者使用字符类:

String[] tokens = string.split("[|]");

答案 1 :(得分:2)

你应该使用\\|来转义元字符。

答案 2 :(得分:2)

在Java中,你需要为正则表达式转义两次字符:一次用于字符串,一次用于正则表达式。

尝试

string.split("\\|")

答案 3 :(得分:2)

您必须使用双反斜杠\\string.split("\\|")

这是因为反斜杠是两者的转义字符:java和regex。第一个转义java的第二个,所以“真正的”反斜杠传递给正则表达式。

答案 4 :(得分:1)

简单地做

string.split("\\|");
当我们逃脱时,在java中的

我们用两个反斜杠