将管道插入Java Pattern表达式的正确方法是什么?

将管道插入Java Pattern表达式的正确方法是什么?

我实际上想要使用管道作为分隔符而不是或运算符。

IE:

"hello|world".split("|"); --> {"hello", "world"} 

在Java 1.5+中:

 "hello|world".split(Pattern.quote("|")); 

\\逃脱它:

 "hello|world".split("\\|"); 

我有很多这个问题(将正则表达式编码为Java String ),所以我在fileformat.info上为regex工具添加了书签; 它有一个很好的function,它会在你测试后显示正则表达式的Java String表示。

正如凯文已经说过的那样,你需要逃脱它。

此外,如果您正在使用Eclipse或者想要在Java中使用WysIWYG编辑器进行regexp ,请访问myregexp.com ,您可以从那里获取Eclipse插件或使用applet IMO作为我见过的最好的Java regex工具。

 "hello|world".split("\\\\|"); --> {"hello", "world"} 

第一组"\\"仅产生\作为分隔符。 因此,需要2组来逃离管道。