2

以下のREPLセッションをご覧ください。両方の正規表現の唯一の違いは、角括弧内の文字の順序です。したがって、両方とも同じ出力を生成する必要があります。何らかの理由で、2番目の正規表現は最初のシーケンス(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
4

1 に答える 1

4

-角かっこ内もエスケープする必要があります。[0-9]たとえば、すべての数字に一致するような範囲を指定するために使用されます。

于 2012-10-12T12:06:20.490 に答える