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