$sourcePath | Foreach-Object { Copy-item $_ "C:\temp" -Verbose }
在reg exp $
中的意义是什么?
输入是用空格分隔的整数,例如:
"\\s+$"
代码是关于从一行中读取值的:
17 28 30
如果我从reg exp中删除了List<Integer> a = Stream.of(bufferedReader.readLine().replaceAll("\\s+$", "").split(" "))
.map(Integer::parseInt)
.collect(toList());
,则所有测试用例都将失败。
答案 0 :(得分:2)
在正则表达式中,$
表示“输入结束”,因此:
$
一起使用,您正在从行中删除 trailing 空格。$
,您将从行中删除 all 空格(因此您最终得到"172830"
)我会改用它:
.trim()
这更易于编码和理解。
答案 1 :(得分:0)
$美元符号是字符串末尾的锚点。
例如:“ b $”与行尾的“ b”匹配。
答案 2 :(得分:0)
美元符号($
)与字符串的结尾匹配。该代码的作用是,首先删除字符串结尾之前的所有空格字符(\t\n\x0B\f\r
),然后在找到空格时将字符串拆分以分隔数值,然后将其解析为整数。如果您从正则表达式中删除$
,代码将删除原始字符串中的所有空格,并且拆分将仅返回一个字符串,并为您提供单个数字。
在JavaDocs中查看正则表达式文档,以了解Java支持/实现的其他结构:https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html