我遇到了以下字符串拆分 line.split(" \ s * //")[0] 但似乎无法找到有关使用的文档' /'正则表达式中的字符。
这是我的代码:
String line = "type=path.composition id=pathComp";
line = line.split("\\s*//")[0];
Console console = System.console();
System.out.println("This is the line: " + line);
这里输出:
This is the line: type=rule.composition id=ruleComp
我想知道究竟是什么' /'对正则表达式做了什么,并想知道是否有人能够指出我的一些文档和/或突出显示它的作用的答案?
我还注意到,当我删除' //'从正则表达式,输出变为仅仅第一个字符,我认为这是有道理的,因为\ s *表示表达式吐出零个或多个空格字符。
This is the line: t
然而,这提出了一个问题:"' //'添加到看到拆分的正则表达式发生在行的末尾"?
任何建议都将受到高度赞赏。
ž
答案 0 :(得分:2)
考虑您的输入文字(type=rule.composition id=ruleComp
)和两个正则表达式:
\s*//
; \s*
。当您对正则表达式尝试.split()
时,正则表达式引擎将尝试匹配正则表达式(从文本文字计算为参数),这两件事情可能发生:
因此你的结果: