3

我想创建几个利用 Pattern.COMMENTS 标志的 Scala 代码使用的相当复杂的正则表达式?我想做这样的事情:

val regex = """my
   (complex|hideous)      # either is appropriate
   pattern
   (might)?               # optional
   look like this
""".r

.r字符串末尾的 the 给了我 Scala 的所有Regex优点)

不幸的是, using.r并没有给我任何方法来告诉 Regex 使用java.util.regex.Pattern.COMMENTS. 有没有办法创建一个scala.util.matching.Regex在打开注释的情况下编译其源字符串的方法?

4

1 回答 1

8

根据文档,您应该能够使用内联修饰符:

val regex = """(?x)my
   (complex|hideous)      # either is appropriate
   pattern
   (might)?               # optional
   look like this
""".r

另请参阅 Java 文档以获取Regex 注释

使用 inline 修饰符,您可以从写入 inline 修饰符的位置开始启用该选项。如果一开始就使用它,它对整个正则表达式都有效。

还检查正则表达式.info以获得进一步的解释

于 2013-04-03T19:15:21.690 回答