请查看下面的REPL会话。两个正则表达式之间的唯一区别是方括号中的字符顺序。因此,两者都应该产生相同的输出。由于某种原因,第二个正则表达式省略了第一个序列(123
)。这里发生了什么事? :)
Welcome to Scala version 2.9.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_26).
Type in expressions to have them evaluated.
Type :help for more information.
scala> """[^+-.,><\[\]]+""".r.findAllIn("123]asdf") foreach { println }
123
asdf
scala> """[^+-><\[\].,]+""".r.findAllIn("123]asdf") foreach { println }
asdf
答案 0 :(得分:4)
-
也应该被转义。例如,它用于指定[0-9]
等范围以匹配所有数字。