了解 Java 中的正则表达式:split(“\t”) vs split(“\\t”) - 它们何时工作,何时应使用它们
我最近发现我没有在我的代码中正确使用正则表达式。给定一个制表符分隔字符串的例子,我一直在使用。现在我意识到这是错误的,为了正确匹配选项卡,我应该使用。str
str.split("\t")
str.split("\\t")
然而,我碰巧偶然发现了这个事实,因为我正在寻找其他东西的正则表达式模式。你看,在我的情况下,错误的代码一直工作得很好,现在我对为什么它确实有效感到困惑,如果它是错误的方式来声明正则表达式来匹配制表符。因此,为了真正理解正则表达式在Java中是如何处理的,而不是仅仅将代码复制到Eclipse中,而不是真正关心它为什么工作......split("\t")
以类似的方式,我遇到了一段文本,它不仅以制表符分隔,而且还以逗号分隔。更清楚地说,我正在解析的制表符分隔列表有时包括“复合”项,如下所示:为了简单起见,我想将它们解析为单独的元素。在这种情况下,适当的正则表达式应该是:,或者我在这里也错了??item1,item2,item3
line.split("[\\t,]")
提前致谢,