我最近开始在 Java 中使用正则表达式,但遇到了一个奇怪的表达式。
该问题要求找到仅由字母和至多一个结束句组成的“单词”。例如,如果我输入字符串:
one two. wr7ng not1 three. nope..
引擎将找到一、二和三作为匹配词。该问题的给定解决方案是这种模式:
for (String tok : s.split(" ")) {
if (tok.matches("[a-zA-Z]+//.?")) {
// code done to record successful match
}
}
两个正斜杠是什么意思?我将此表达式与此表达式进行了比较:
[a-zA-Z]+.?
并且在最后一个插槽(句点)中只发现了后者错误接受的数字。这是唯一的区别吗?