Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将管道插入Java模式表达式的正确方法是什么?_Java_Regex - Fatal编程技术网

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

将管道插入Java模式表达式的正确方法是什么?,java,regex,Java,Regex,将管道插入Java模式表达式的正确方法是什么 实际上,我想使用管道作为分隔符,而不是or运算符 即: 第一组“\\”仅产生\作为分隔符。因此,需要两套装置来脱离管道。使用\\: 我经常遇到这个问题(将正则表达式编码为Java字符串),因此我将;它有一个漂亮的函数,在您测试正则表达式后,它将向您显示正则表达式的Java字符串 "hello|world".split(Pattern.quote("|")); 正确的解决方案,错误的解释。所需的regexp是\|(两个字符),如果您想在Java中的字

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

实际上,我想使用管道作为分隔符,而不是or运算符

即:

第一组
“\\”
仅产生\作为分隔符。因此,需要两套装置来脱离管道。

使用\\:

我经常遇到这个问题(将正则表达式编码为Java
字符串),因此我将;它有一个漂亮的函数,在您测试正则表达式后,它将向您显示正则表达式的Java
字符串

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

正确的解决方案,错误的解释。所需的regexp是\|(两个字符),如果您想在Java中的字符串中添加反斜杠,则需要使用双反斜杠来告诉Java,反斜杠不用于转义下一个字符。使用两个斜杠对我来说很好。每个字母上都有四道斜线,而不是每个单词。不,它不是你所说的那样;反例:。在正则表达式中,
\
是一个特殊的字符,它能够创建类似于
\d
的东西来表示空格的数字
\s
,等等。另外,
\
在字符串文本中是特殊的,它允许我们创建行分隔符
\r
\n
,tab
\t
和其他一些东西。在正则表达式中,
\
还用于转义特殊字符,使其成为文本,如
\+
\*
。因此,要在正则表达式中转义
,我们需要
\\\\\\\
,但要创建表示此类文本的字符串,我们需要将其写成
“\\\\\\”
。这很酷!您也可以在eclipse调试环境中简单地使用watch语句。\\n还帮助将|替换为String.repacelAll()
"hello|world".split("\\\\|"); --> {"hello", "world"}
"hello|world".split("\\|");
"hello|world".split(Pattern.quote("|"));